[RESOLU] Aide pour un petit formulaire en PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Aide pour un petit formulaire en PHP

Re: [RESOLU] Aide pour un petit formulaire en PHP

par Spols » 06 janv. 2015, 13:06

le empty contient un isset, il ne génère donc pas d'erreur
Aucune alerte n'est générée si la variable n'existe pas. Cela signifie que empty() est strictement équivalent à !isset($var) || $var == false.

Re: Aide pour un petit formulaire en PHP

par tof73 » 05 janv. 2015, 15:02

comme dis plus haut, ce code va générer un warning si la variable post n'existe pas.
une manière de faire est de tester isset puis empty :
if(isset($_POST['titre']) && !empty($_POST['titre']) && isset($_POST['image']) && !empty($_POST['image'])){

Re: Aide pour un petit formulaire en PHP

par Invité » 05 janv. 2015, 14:26

Merci pour ta réponse.

J'ai trouvé la solution de moi même .. j'ai remplacé le code php par :
<?php (empty($_POST['valide']))

Re: Aide pour un petit formulaire en PHP

par Spols » 05 janv. 2015, 10:48

utilise empty() plutot que !isset()
Si tu utilise AND, tu autorise un des 2 champs vides Est-ce ce que tu veux ?

tu peux assigner la valeur de tes variables $_POST aux variables que tu désire, mais il vaut mieux faire attention.
Afin d'éviter les E_NOTICE il vaut mieux vérifier le contenu des valeurs avant l'assignation
$var = (empty($_POST['var'])) "valeur de remplacement" : $_POST['var'];

Il est aussi possible de parcourir le tableaux $_POST pour assigner chaque valeur à une variable, mais tu t'expose alors à des problème de sécurité dont tu doit être conscient.

Aide pour un petit formulaire en PHP

par deediezi » 05 janv. 2015, 05:08

Bonjour/bonsoir ! J'ai une petite question à vous poser. J'aimerai créer une page en php me permettant d'afficher un texte si $_POST[titre] et $_POST[image] n'est pas vide et afficher le formulaire s'il l'est. J'ai donc fais un mini code pour tester mais quand je clique sur envoyer sans remplir de champs, le site m'affiche le texte que je ne devrai pas voir ...

Voici mon code :
	<body>

		<?php if (!isset($_POST["titre"]) AND (!isset($_POST["image"]))) { ?>

<form action="generateur.php" method="POST">
		<input type="text" name="titre" id="titre" />
		<input type="text" name="image" id="image" />
		<input type="submit" value="Valider" />
</form>


		<?php } 

		else {

			echo $_POST["titre"] . $_POST["image"];
		}


		?>



	</body>
Optionnellement : Est-il possible de mettre $_POST dans une variable afin d'éviter de taper chaque $_POST['....'] ? Mon but est de créer un générateur pour la création d'article sur un site ... mais bon, je bloque déjà au début :/