In diesem Leitfaden untersuchen wir die Handhabung von PHP-Formularen mithilfe von Cookies zum Speichern von Benutzerdaten. Cookies sind eine Möglichkeit, kleine Datenmengen im Browser des Benutzers zu speichern, sodass Benutzerpräferenzen oder -informationen über verschiedene Sitzungen hinweg gespeichert werden können.
Unser Projekt umfasst die Erstellung eines Formulars, in das Benutzer ihre Informationen eingeben, die übermittelten Daten in Cookies speichern und dann die Cookie-Daten anzeigen oder löschen können. Am Ende dieses Tutorials werden Sie verstehen, wie Sie Cookies in PHP setzen, abrufen und löschen.
Cookies sind kleine Dateien, die im Browser des Benutzers gespeichert werden. Sie ermöglichen es Webservern, benutzerspezifische Daten zu speichern und bei späteren Besuchen abzurufen. In PHP können Sie mit Cookies arbeiten, indem Sie die Funktion setcookie() verwenden, um Cookies zu erstellen oder zu aktualisieren, und den Superglobal $_COOKIE, um sie zu lesen.
Wir erstellen eine einfache Anwendung, die:
Unser Projekt umfasst die folgenden Dateien:
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
Die Datei index.php enthält das HTML-Formular für Benutzereingaben sowie Schaltflächen zum Anzeigen oder Löschen von Cookie-Daten.
<!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>
Diese Datei löscht die Cookies, indem ihre Ablaufzeit auf die Vergangenheit gesetzt wird.
<?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>
Dieses Projekt zeigt, wie Cookies für die Formularverarbeitung in PHP verwendet werden. Durch die Implementierung von Cookies können Sie Benutzerdaten beibehalten und die Funktionalität Ihrer Webanwendungen verbessern. Experimentieren Sie mit diesem Projekt und erkunden Sie fortgeschrittenere Anwendungsfälle für Cookies in PHP.
Viel Spaß beim Codieren! ?
Das obige ist der detaillierte Inhalt vonAnfängerleitfaden zum Umgang mit PHP-Formularen mit Cookies. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!