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

  • Votes
  • Date
  • Date décroissante
  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...
    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. 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. 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. Contributeur
            salut,

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