Recuperation variable dans formulaire

Fermé
mira - 13 août 2007 à 23:47
 mira - 23 août 2007 à 14:52
Bonsoir , j'essaye de récupérer une variable à partir d'un formulaire ( exo d'un site de debutant en php mais tt ne se passe pas comme prévu , démonstration :

form action="secu.php" method="post">
<input type="text" name="pass"> <input type="submit" name="run">
</form>
<br />
<?php

if (isset($_POST['password']))
{
	if ( $password == "toto" )
	{
	echo "Salut";
		
	}
	else
	{
	echo "<a href=\"sec.php\">sec</a>";
	}
}
?>


c'est curieux car quand je mets la valeur toto , çà ne m'affiche pas le salut . L'architecture du code est bonne je ne veux absolument pas la changer , il doit juste yavoir un probleme avec la variable password , quelqu'un pourrait m'éclairer ?

merci

7 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
14 août 2007 à 00:06
re,

ne le prend pas mal, mais je crois que tu postes un peu vite.

il doit juste yavoir un probleme avec la variable password
oui, justement !

mais il faut relire ton code, et si ça ne suffit pas il faut le lire à nouveau !
tu testes l'existence de la variable '$_POST['password']' :
if (isset($_POST['password']))

tu interroges la variable '$password' :
if ( $password == "toto" )

ça ne risque pas de fonctionner, tu ne travailles pas sur la même variable.

par ailleurs, elles sortent d'où ces variables ?
dans ton formulaire l'attribut 'name' de la balise <input> définit le nom de la variable renvoyé.
dans ton cas '$_POST' contient une valeur à l'index 'pass' et non pas 'password'.
if (isset($_POST['pass']))
{
	if ( $_POST['pass'] == 'toto' )
	{
	echo 'Salut';	
	}
	else
	{
	echo '<a href="sec.php">sec</a>';
	}
}

et les apostrophes…

je pense que tu vas trop vite en besogne, il faut d'abord apprendre les fondamentaux.
0
gryzzly Messages postés 4607 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 323
14 août 2007 à 18:30
salut,

et pour en rajouter une couche, merci de mettre un <input type='password'> et non pas type='text' pour un password !
0
j'a corrigé mon code mais quand je tape la bonne valeur de variable j'ai pas l'affiche que je veux , regardez :

<form action="sec.php"  method="post">
<p> <input type="text" name="code"> <input type="submit" value="go" /> </p>
</form>

<?php



if (isset($_POST['code']))
{

 if($code == "youpi")
 {
	echo"bingo";
 }
 
 else
 {
	echo"<a href=\"sec.php\">sec</a>";
 }
 
}

?>


c'est normal que si je tape youpi çà m'affiche pas bingo ?

merci
0
gryzzly Messages postés 4607 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 323
22 août 2007 à 22:45
oui... $code existe pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oui mais comment déclarer la variable vu que je dois obligatoirement lui affecter une valeur , çà va pas , si je fais çà çà ira :

$code = "";

?

merci
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
23 août 2007 à 12:47
salut,

???

<?php

if (isset($_POST['code']))
{

$code = $_POST['code'];

 if($code == "youpi")
 {
	echo"bingo";
 }
 
 else
 {
	echo"<a href=\"sec.php\">sec</a>";
 }
 
}

?>
0
ok mais pq j'ai ce message d'erreur avec la ligne que tu as rajouté dalida ( la page marche quand meme ) :

Notice: Undefined index: code in...
0