Formulaire POST

Bonjour,
Je suis un débutant en php et comme tout débutant, je vais sur openclassroom.
Après avoir lu quelques cours je me suis décider à faire mon premier formulaire, il fonctionne parfaitement avec un Get mais dès que je le change en Post, j'ai une erreur lors du $_POST['pseudo'].

Voici mon code :
<HTML>
    <head>
        <title>Index</title>
        <meta charset="utf-8">
    </head>
    <body>
        <form method="post" action="">
            <input type="text" name="pseudo"/>
            <input type="submit" value="OK"/>
        </form>
        <?php
        if(isset($_POST['pseudo'])){
            echo $_POST['pseudo'];
        }else{
            echo"Erreur";
        }
        ?>
    </body>
</HTML>


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

3 réponses

  1. Modérateur
    Effectivement , au premier chargement $_POST['pseudo'] n'est pas défini. Mais dès le renvoi du formulaire on ne passe plus par la deuxième branche du test. Ceci est normal. Jordane45 résout le problème.

    Gates gave ^W  sold  you the windows.
    GNU gave us the whole house.(Alexandrin)
    1. Modérateur
      Essayes ceci :
      <?php
      //récupération "propre" des variables :
      $pseudo = isset($_POST['pseudo']) ? $_POST['pseudo']: NULL;
      ?>
      <html>
        <head>
          <title>Index</title>
          <meta charset="utf-8">
        </head>
        <body>
          <form method="post" action="">
            <input type="text" name="pseudo" value="<?php echo $pseudo;?>">
            <input type="submit" value="OK">
          </form>
        
        <?php
         //et éventuellement...
         if($pseudo){
          echo " vous avez choisi le pseudo : $pseudo";
         }else{
          echo "Aucun Pseudo choisi ou formulaire non validé";
         }
        
        ?>  
        </body>
      </html> 
       


      Cordialement, 
      Jordane                                                                 
      1. J'ai toujours le même problème, $pseudo et toujours faux
      2. Modérateur
        @SiilnyPas possible.
        Je viens de tester et ça fonctionne très bien.
        Tu as essayé MON code ?
        Tu as bien renseigné qq chose puis cliqué sur le bouton submit ?
      3. Oui oui j'ai tester j'ai fait un gros copier coller mais sa marche pas, peut-tu tester mon code s'il te plait pour voir si sa viens pas de mon installation ?
      4. Modérateur
        @SiilnyJ'ai testé mon code ... et il fonctionne parfaitement
    2. Modérateur
      Bonjour,

      1 - **** Attention ****
      Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
      Explications disponibles ici :
      https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

      .
      2 -

      j'ai une erreur lors du $_POST['pseudo'].

      Et quelle est l'erreur en question ?
      1. Alors en fait je ne rentre jamais dans le if mais que dans le else, alors j'ai decider de faire
        echo $_POST['pseudo']
        .
        J'obtient l'erreur : Undefined index:pseudo