Maison > développement back-end > tutoriel php > Guide du débutant sur la gestion des formulaires PHP avec les cookies

Guide du débutant sur la gestion des formulaires PHP avec les cookies

DDD
Libérer: 2024-12-01 03:13:17
original
873 Les gens l'ont consulté

Beginner

Dans ce guide, nous explorerons la gestion des formulaires PHP à l'aide de cookies pour stocker les données utilisateur. Les cookies sont un moyen de conserver de petites quantités de données sur le navigateur de l'utilisateur, permettant de mémoriser les préférences ou les informations de l'utilisateur au cours de différentes sessions.

Notre projet consiste à créer un formulaire dans lequel les utilisateurs peuvent saisir leurs informations, stocker les données soumises dans des cookies, puis visualiser ou supprimer les données des cookies. À la fin de ce didacticiel, vous comprendrez comment définir, récupérer et supprimer des cookies en PHP.


Que sont les cookies ?

Les cookies sont de petits fichiers stockés sur le navigateur de l'utilisateur. Ils permettent aux serveurs Web de stocker des données spécifiques à un utilisateur et de les récupérer lors de visites ultérieures. En PHP, vous pouvez travailler avec des cookies en utilisant la fonction setcookie() pour créer ou mettre à jour des cookies et le superglobal $_COOKIE pour les lire.


Le projet : formulaire PHP avec gestion des cookies

Nous allons créer une application simple qui :

  1. Permet aux utilisateurs de soumettre leurs informations via un formulaire.
  2. Stocke les données soumises dans des cookies.
  3. Affiche les données des cookies stockés.
  4. Fournit une option pour supprimer les cookies.

Structure du fichier

Notre projet comprend les fichiers suivants :

project-folder/
│
├── index.php           # Form page
├── submit.php          # Form handling and cookie storage
├── view_cookie.php     # Viewing cookie data
├── delete_cookie.php   # Deleting cookie data
Copier après la connexion

Étape 1 : Création du formulaire (index.php)

Le fichier index.php contient le formulaire HTML pour la saisie de l'utilisateur, ainsi que des boutons pour afficher ou supprimer les données des cookies.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PHP Form with Cookie Handling</title>
</head>
<body>
    <h1>Submit Your Information</h1>
    <!-- Form Section for User Input -->
    <form method="get" action="submit.php">
        <label for="name">Name:</label><br>
        <input type="text">




<hr>

<h3>
  
  
  Step 2: Handling Form Submission (submit.php)
</h3>

<p>The submit.php file processes the form data, validates and sanitizes it, and then stores it in cookies.<br>
</p>

<pre class="brush:php;toolbar:false"><?php
// Initialize error messages and data variables
$error_name = "";
$error_age = "";
$error_email = "";
$error_website = "";
$name = $age = $email = $website = $gender = $comments = $hobbies = "";

// Sanitize and validate the form data
if ($_SERVER["REQUEST_METHOD"] == "GET") {
    // Sanitize inputs
    $name = htmlspecialchars(trim($_GET['name']));
    $age = htmlspecialchars(trim($_GET['age']));
    $email = htmlspecialchars(trim($_GET['email']));
    $website = htmlspecialchars(trim($_GET['website']));
    $gender = isset($_GET['gender']) ? $_GET['gender'] : '';
    $hobbies = isset($_GET['hobbies']) ? $_GET['hobbies'] : [];
    $comments = htmlspecialchars(trim($_GET['comments']));

    // Validation checks
    if (empty($name)) {
        $error_name = "Name is required.";
    }

    if (empty($age) || !filter_var($age, FILTER_VALIDATE_INT) || $age <= 0) {
        $error_age = "Valid age is required.";
    }

    if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $error_email = "Valid email is required.";
    }

    if (empty($website) || !filter_var($website, FILTER_VALIDATE_URL)) {
        $error_website = "Valid website URL is required.";
    }

    // If no errors, set cookies
    if (empty($error_name) && empty($error_age) && empty($error_email) && empty($error_website)) {
        // Set cookies for the form data
        setcookie("name", $name, time() + (86400 * 30), "/");
        setcookie("age", $age, time() + (86400 * 30), "/");
        setcookie("email", $email, time() + (86400 * 30), "/");
        setcookie("website", $website, time() + (86400 * 30), "/");
        setcookie("gender", $gender, time() + (86400 * 30), "/");
        setcookie("hobbies", implode(", ", $hobbies), time() + (86400 * 30), "/");
        setcookie("comments", $comments, time() + (86400 * 30), "/");
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Form Submission Result</title>
</head>
<body>
    <h1>Form Submission Result</h1>

    <!-- Show Errors if any -->
    <?php
    if ($error_name) {
        echo "<p>




<hr>

<h3>
  
  
  Step 3: Viewing Cookie Data (view_cookie.php)
</h3>

<p>This file displays the cookie data stored on the user's browser.<br>
</p>

<pre class="brush:php;toolbar:false"><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>View Cookie Data</title>
</head>
<body>
    <h1>View Stored Cookie Data</h1>

    <?php
    if (isset($_COOKIE['name'])) {
        echo "<p><strong>Name:</strong> " . $_COOKIE['name'] . "</p>";
        echo "<p><strong>Age:</strong> " . $_COOKIE['age'] . "</p>";
        echo "<p><strong>Email:</strong> " . $_COOKIE['email'] . "</p>";
        echo "<p><strong>Website:</strong> <a href='" . $_COOKIE['website'] . "' target='_blank'>" . $_COOKIE['website'] . "</a></p>";
        echo "<p><strong>Gender:</strong> " . $_COOKIE['gender'] . "</p>";
        echo "<p><strong>Hobbies:</strong> " . $_COOKIE['hobbies'] . "</p>";
        echo "<p><strong>Comments:</strong> " . $_COOKIE['comments'] . "</p>";
    } else {
        echo "<p>No cookie data found!</p>";
    }
    ?>

    <br><br>
    <a href="index.php">Go Back</a>
</body>
</html>
Copier après la connexion

Étape 4 : Suppression des données des cookies (delete_cookie.php)

Ce fichier supprime les cookies en réglant leur délai d'expiration sur le passé.

<?php
// Deleting cookies by setting their expiration time to past
setcookie("name", "", time() - 3600, "/");
setcookie("age", "", time() - 3600, "/");
setcookie("email", "", time() - 3600, "/");
setcookie("website", "", time() - 3600, "/");
setcookie("gender", "", time() - 3600, "/");
setcookie("hobbies", "", time() - 3600, "/");
setcookie("comments", "", time() - 3600, "/");
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Cookie Deleted</title>
</head>
<body>
    <h1>Cookies Deleted</h1>
    <p>All cookies have been deleted successfully.</p>
    <br><br>
    <a href="index.php">Go Back</a>
</body>
</html>
Copier après la connexion

Conclusion

Ce projet montre comment utiliser les cookies pour la gestion des formulaires en PHP. En mettant en œuvre des cookies, vous pouvez conserver les données utilisateur et améliorer la fonctionnalité de vos applications Web. Expérimentez avec ce projet et explorez des cas d'utilisation plus avancés pour les cookies en PHP.

Bon codage ! ?

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!

source:dev.to
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal