Recuperation variable dans formulaire

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
Configuration: Windows XP
Firefox 2.0.0.6

7 réponses

  1. Contributeur
    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.
    1. Contributeur
      salut,

      et pour en rajouter une couche, merci de mettre un <input type='password'> et non pas type='text' pour un password !
      1. 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
        1. oui mais comment déclarer la variable vu que je dois obligatoirement lui affecter une valeur , çà va pas , si je fais çà çà ira :

          $code = "";

          ?

          merci
          1. Contributeur
            salut,

            ???

            <?php
            
            if (isset($_POST['code']))
            {
            
            $code = $_POST['code'];
            
             if($code == "youpi")
             {
            	echo"bingo";
             }
             
             else
             {
            	echo"<a href=\"sec.php\">sec</a>";
             }
             
            }
            
            ?>
            1. 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...