Heim > Backend-Entwicklung > PHP-Tutorial > Anfängerleitfaden zum Umgang mit PHP-Formularen mit Cookies

Anfängerleitfaden zum Umgang mit PHP-Formularen mit Cookies

DDD
Freigeben: 2024-12-01 03:13:17
Original
873 Leute haben es durchsucht

Beginner

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:

  1. Ermöglicht Benutzern die Übermittlung ihrer Informationen über ein Formular.
  2. Speichert die übermittelten Daten in Cookies.
  3. Zeigt die gespeicherten Cookie-Daten an.
  4. 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
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage