Formulaire POST

Siilny Messages postés 10 Statut Membre -  
jisisv Messages postés 3678 Statut Modérateur -
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. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    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 ?
    0
    1. Siilny Messages postés 10 Statut Membre
       
      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
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    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                                                                 
    0
    1. Siilny Messages postés 10 Statut Membre
       
      J'ai toujours le même problème, $pseudo et toujours faux
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > Siilny Messages postés 10 Statut Membre
         
        Pas 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 ?
        0
    2. Siilny Messages postés 10 Statut Membre
       
      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 ?
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > Siilny Messages postés 10 Statut Membre
         
        J'ai testé mon code ... et il fonctionne parfaitement
        0
  3. jisisv Messages postés 3678 Statut Modérateur 936
     
    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)
    0