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.
    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. 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
          oui... $code existe pas.
          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
              salut,

              ???

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