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

      ???

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

              et pour en rajouter une couche, merci de mettre un <input type='password'> et non pas type='text' pour un password !
              0
              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.
                0