Derniers tutoriels de développement web
 

PHP 5 Manipulation de forme


Le PHP Superglobales _GET et $ _POST sont utilisés pour recueillir des données-forme.


PHP - Un simple formulaire HTML

L'exemple ci-dessous affiche un formulaire HTML simple avec deux champs de saisie et un bouton d'envoi:

Exemple

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
»Exécuter exemple

Lorsque l'utilisateur remplit le formulaire ci - dessus et clique sur le bouton d' envoi, les données de formulaire est envoyé pour le traitement à un fichier PHP nommé "welcome.php" . Les données de formulaire est envoyé avec le procédé HTTP POST.

Pour afficher les données fournies, vous pouvez simplement écho toutes les variables. Le "welcome.php" ressemble à ceci:

<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

La sortie pourrait être quelque chose comme ceci:

Welcome John
Your email address is [email protected]

Le même résultat peut également être réalisé en utilisant la méthode HTTP GET:

Exemple

<html>
<body>

<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
»Exécuter exemple

et "welcome_get.php" ressemble à ceci:

<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

Le code ci-dessus est assez simple. Cependant, la chose la plus importante est manquante. Vous devez valider les données de formulaire pour protéger votre script à partir du code malveillant.

Pensez SÉCURITÉ lors du traitement de formulaires PHP!

Cette page ne contient pas de validation de formulaire, il montre à quel point vous pouvez envoyer et récupérer des données de formulaire.

Cependant, les pages suivantes montreront comment traiter les formes PHP avec la sécurité à l'esprit! Une validation appropriée des données de formulaire est important de protéger votre forme contre les pirates et les spammeurs!


GET vs POST

Les deux GET et POST créer un tableau (par exemple array( key => value, key2 => value2, key3 => value3, ...) ). Ce tableau contient la clé / valeur paires les clés, les noms des contrôles de formulaire et les valeurs sont l'entrée des données de l'utilisateur.

Les deux GET et POST sont traités comme _GET et $ _POST. Ce sont superglobales, ce qui signifie qu'ils sont toujours accessibles, indépendamment de la portée - et vous pouvez y accéder de toute fonction, classe ou d'un fichier sans avoir à faire quelque chose de spécial.

$ _GET est un tableau de variables passées au script courant via les paramètres d'URL.

$ _POST est un tableau de variables passées au script courant via la méthode HTTP POST.


Quand utiliser GET?

Les informations envoyées à partir d' un formulaire avec la méthode GET est visible à tout le monde (tous les noms de variables et les valeurs sont affichées dans l'URL). GET a également des limites sur la quantité d'informations à envoyer. La limitation est d'environ 2000 caractères. Cependant, parce que les variables sont affichées dans l'URL, il est possible de mettre en signet la page. Cela peut être utile dans certains cas.

GET peut être utilisé pour envoyer des données non sensibles.

Note: GET ne doit jamais être utilisé pour envoyer des mots de passe ou d' autres informations sensibles!


Quand utiliser POST?

Les informations envoyées à partir d' un formulaire avec la méthode POST est invisible pour les autres (all names/values are embedded within the body of the HTTP request) les (all names/values are embedded within the body of the HTTP request) et n'a pas de limites sur la quantité d'informations à envoyer.

En outre POST supporte des fonctions avancées telles que le support pour l'entrée binaire en plusieurs parties lors du transfert de fichiers vers le serveur.

Cependant, parce que les variables ne sont pas affichées dans l'URL, il est impossible de mettre en signet la page.

Les développeurs préfèrent POST pour envoyer des données de formulaire.

Ensuite, permet de voir comment nous pouvons traiter les formes PHP la manière sécurisée!