Rumah >pembangunan bahagian belakang >tutorial php >Panduan Pemula untuk Pengendalian Borang PHP dengan Kuki
Dalam panduan ini, kami akan meneroka pengendalian borang PHP menggunakan kuki untuk menyimpan data pengguna. Kuki ialah satu cara untuk mengekalkan sejumlah kecil data pada penyemak imbas pengguna, menjadikannya mungkin untuk mengingati pilihan atau maklumat pengguna merentas sesi yang berbeza.
Projek kami melibatkan penciptaan borang di mana pengguna boleh memasukkan maklumat mereka, menyimpan data yang diserahkan dalam kuki, dan kemudian melihat atau memadam data kuki. Pada penghujung tutorial ini, anda akan memahami cara menetapkan, mendapatkan semula dan memadamkan kuki dalam PHP.
Kuki ialah fail kecil yang disimpan pada penyemak imbas pengguna. Mereka membenarkan pelayan web menyimpan data khusus kepada pengguna dan mendapatkannya semula pada lawatan berikutnya. Dalam PHP, anda boleh bekerja dengan kuki menggunakan fungsi setcookie() untuk mencipta atau mengemas kini kuki dan superglobal $_COOKIE untuk membacanya.
Kami akan mencipta aplikasi mudah yang:
Projek kami termasuk fail berikut:
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
Fail index.php mengandungi borang HTML untuk input pengguna, bersama-sama dengan butang untuk melihat atau memadam data kuki.
<!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>
Fail ini memadamkan kuki dengan menetapkan masa tamat tempohnya kepada masa lalu.
<?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>
Projek ini menunjukkan cara menggunakan kuki untuk pengendalian borang dalam PHP. Dengan melaksanakan kuki, anda boleh mengekalkan data pengguna dan meningkatkan kefungsian aplikasi web anda. Eksperimen dengan projek ini dan terokai lebih banyak kes penggunaan lanjutan untuk kuki dalam PHP.
Selamat pengekodan! ?
Atas ialah kandungan terperinci Panduan Pemula untuk Pengendalian Borang PHP dengan Kuki. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!