
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.
Was sind Cookies?
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.
Das Projekt: PHP-Formular mit Cookie-Handling
Wir erstellen eine einfache Anwendung, die:
- Erm?glicht Benutzern die übermittlung ihrer Informationen über ein Formular.
- Speichert die übermittelten Daten in Cookies.
- Zeigt die gespeicherten Cookie-Daten an.
- Bietet eine Option zum L?schen der Cookies.
Dateistruktur
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
Schritt 1: Erstellen des Formulars (index.php)
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>
Schritt 4: Cookie-Daten l?schen (delete_cookie.php)
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>
Abschluss
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!