⊗ppPmFmOFH 299 of 447 menu

Traitement de formulaire dans un seul fichier PHP

Dans la leçon précédente, notre formulaire était placé sur une page et envoyé vers une autre. En réalité, ce n'est pas obligatoire. Si on laisse l'attribut action vide ou si on le supprime complètement, le formulaire sera envoyé sur cette même page.

Comment cela fonctionnera : lors de la première visite sur la page, nous remplirons le formulaire avec des données et cliquerons sur le bouton. Après cela, la page sera actualisée et son code sera exécuté à nouveau, mais cette fois avec les données du formulaire.

Regardons un exemple. Supposons que nous ayons dans un seul fichier un formulaire et son traitement :

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php var_dump($_GET); ?>

Lors de la première visite sur la page, la fonction var_dump affichera un tableau vide. Et après l'envoi du formulaire, elle affichera les données du formulaire. C'est-à-dire la première fois $_GET sera vide, et la deuxième fois - contiendra les données du formulaire.

Cela peut entraîner des problèmes. Supposons, par exemple, que nous entrions des nombres dans le formulaire et souhaitions afficher la somme de ces nombres à l'écran :

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php echo $_GET['test1'] + $_GET['test2']; ?>

Dans ce cas, lors de la première visite sur la page, nous verrons des erreurs PHP, liées au fait que le tableau $_GET est vide, et que nous accédons à ses éléments.

Il convient de dire ici que vous n'aurez peut-être pas d'erreurs dans le navigateur. Dans ce cas, vérifiez que l'affichage des erreurs PHP est activé, et assurez-vous également que c'est votre première visite sur la page et qu'il n'y a pas de données de formulaire dans la barre d'adresse.

Corrigeons le problème. Pour cela, ajoutons une condition dans laquelle nous vérifierons si le formulaire a été envoyé.

Par exemple, on peut vérifier si $_GET est non vide. Si $_GET n'est pas vide - alors le formulaire a été envoyé et on peut effectuer la sommation. Sinon, nous sommes encore au premier accès à la page et la sommation ne sera pas effectuée. Voici donc le code corrigé :

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php if (!empty($_GET)) { echo $_GET['test1'] + $_GET['test2']; } ?>

Demandez à l'utilisateur son nom, prénom et patronyme. Après l'envoi du formulaire, affichez à l'écran les données entrées.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser