Maison >développement back-end >tutoriel php >Pratique de la fonction de traitement de formulaire PHP

Pratique de la fonction de traitement de formulaire PHP

PHPz
PHPzoriginal
2023-06-21 09:58:531233parcourir

PHP est un langage de script largement utilisé pour le développement Web. Dans les applications Web, les formulaires sont une méthode courante de saisie utilisateur. Par conséquent, les fonctions de traitement de formulaire PHP sont des points de connaissances importants qui doivent être acquis lors du développement d'applications Web. Cet article présentera quelques fonctions utiles de traitement de formulaire PHP et fournira des exemples d’applications pratiques.

  1. Fonctions $_POST et $_GET

$_POST et $_GET sont les fonctions les plus couramment utilisées pour traiter les données de formulaire. Ce sont toutes des variables globales PHP prédéfinies. $_POST est utilisé pour gérer les données de requête POST à ​​partir de formulaires HTML, tandis que $_GET est utilisé pour gérer les données de requête GET à partir de chaînes de requête URL.

$_POST et $_GET renvoient tous deux un tableau associatif où les clés sont les noms des éléments du formulaire et les valeurs sont les données saisies par l'utilisateur. Lorsqu'il s'agit de protéger les applications Web, nous devons filtrer et valider les entrées des utilisateurs pour éviter les problèmes de sécurité Web courants tels que l'injection SQL et les attaques XSS.

Ce qui suit est un exemple de code simple qui utilise les fonctions $_POST et $_GET pour traiter les données du formulaire :

<!DOCTYPE html>
<html>
<head>
    <title>PHP Form Handling Example</title>
</head>
<body>
    <form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
        Name: <input type="text" name="name"><br>
        Email: <input type="email" name="email"><br>
        <input type="submit" name="submit" value="Submit">
    </form>
    <?php
        if ($_SERVER["REQUEST_METHOD"] == "POST") {
            $name = test_input($_POST["name"]);
            $email = test_input($_POST["email"]);
            echo "Hi $name! Your email address is $email.";
        }
    ?>
</body>
</html>

Dans le code ci-dessus, la balise form utilise la méthode POST pour soumettre les données du formulaire. L'attribut action contient le chemin d'accès au fichier PHP qui traitera les données du formulaire. Ensuite, dans le fichier PHP, utilisez la fonction test_input() pour filtrer et valider les entrées de l'utilisateur. Si les données du formulaire sont soumises avec succès, un message de bienvenue sera affiché.

  1. Fonction filter_var

La fonction filter_var est une fonction générale permettant de filtrer et de valider les entrées de l'utilisateur. Il est capable de vérifier le type de données, de vérifier le format des données, de supprimer les caractères spéciaux et les balises HTML, etc. Voici un exemple de code qui utilise la fonction filter_var pour la vérification de l'adresse e-mail :

$email = "someone@example.com";
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Invalid email format";
}
else {
    echo "Valid email format";
}

Dans le code ci-dessus, la fonction filter_var est utilisée pour vérifier si la variable $email est une adresse e-mail valide. Si la vérification échoue, « Format d'e-mail invalide » est affiché ; sinon, « Format d'e-mail valide » est affiché.

  1. fonction preg_match

la fonction preg_match est une fonction qui utilise des expressions régulières pour faire correspondre et valider les entrées de l'utilisateur. Il recherche un modèle spécifique et vérifie que les données d'entrée sont conformes au modèle correspondant. Voici un exemple de code qui utilise la fonction preg_match pour la vérification du mot de passe :

$password = "MyPassword@123";
if (!preg_match("/^[a-zA-Z0-9!@#$%^&*]{8,}$/", $password)) {
    echo "Password must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number, and one special character.";
}
else {
    echo "Password meets the requirements.";
}

Dans le code ci-dessus, la fonction preg_match est utilisée pour vérifier que la variable $password répond au format de mot de passe requis. Si la vérification échoue, un message d'erreur est affiché ; sinon, "Le mot de passe répond aux exigences" est affiché.

  1. fonction htmlentities

La fonction htmlentities est utilisée pour convertir les caractères spéciaux en code HTML. Ceci est utile pour empêcher les attaques de scripts intersites (XSS). Voici un exemple de code qui utilise la fonction htmlentities pour convertir les caractères spéciaux :

$string = "This is a <script>JavaScript</script> code.";
echo htmlentities($string);

Dans le code ci-dessus, la fonction htmlentities remplacera les caractères spéciaux dans le code HTML et empêchera l'injection de script. Le résultat sera "Ceci est un code 3f1c4e4b6b16bbbd69b2ee476dc4f83aJavaScript2cacc6d41bbb37262a98f745aa00fbf0."

  1. Fonction strip_tags La fonction

strip_tags est utilisée pour supprimer les balises HTML et PHP et renvoyer le texte restant. Ceci est utile pour filtrer et nettoyer les entrées de l’utilisateur. Voici un exemple de code qui utilise la fonction strip_tags pour filtrer les entrées de l'utilisateur :

$text = "<p>This is <strong>bold</strong> text.</p><script>alert('hello');</script>";
echo strip_tags($text);

Dans le code ci-dessus, la fonction strip_tags supprimera les balises HTML et PHP et supprimera l'alerte JavaScript, et le résultat sera "Ceci est du texte en gras. "

Résumé

Dans cet article, nous avons présenté quelques fonctions utiles de traitement de formulaire PHP et fourni des exemples d'application pratiques. Ces fonctions peuvent nous aider à filtrer et valider les entrées des utilisateurs, à réduire les problèmes de sécurité Web et à offrir une meilleure expérience utilisateur. J'espère que ces points de connaissances seront utiles aux débutants en développement PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn