Formulaire POST

Fermé
Siilny Messages postés 10 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 2 septembre 2016 - Modifié par jordane45 le 6/01/2016 à 16:14
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 7 janv. 2016 à 02:38
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

jordane45 Messages postés 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
6 janv. 2016 à 16:15
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
Siilny Messages postés 10 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 2 septembre 2016
Modifié par Siilny le 6/01/2016 à 16:45
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
jordane45 Messages postés 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707
Modifié par jordane45 le 6/01/2016 à 16:49
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
Siilny Messages postés 10 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 2 septembre 2016
6 janv. 2016 à 16:52
J'ai toujours le même problème, $pseudo et toujours faux
0
jordane45 Messages postés 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707 > Siilny Messages postés 10 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 2 septembre 2016
6 janv. 2016 à 16:57
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
Siilny Messages postés 10 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 2 septembre 2016
6 janv. 2016 à 17:18
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
jordane45 Messages postés 38321 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 décembre 2024 4 707 > Siilny Messages postés 10 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 2 septembre 2016
6 janv. 2016 à 17:47
J'ai testé mon code ... et il fonctionne parfaitement
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
Modifié par jisisv le 7/01/2016 à 02:39
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