PHP를 처음 사용하고 양식 처리 및 세션 데이터 작업 방법을 배우고 싶다면 이 가이드가 적합합니다. 사용자가 양식을 제출하고, 세션에 데이터를 저장하고, 보고, 나중에 삭제할 수 있는 간단한 프로젝트를 구축하겠습니다. 이 튜토리얼을 마치면 PHP 양식 처리, 유효성 검사, 삭제 및 세션의 기본 사항을 이해하게 됩니다.
양식 처리란 HTML 양식을 통해 제출된 데이터를 캡처하여 PHP와 같은 서버측 언어로 처리하는 과정을 의미합니다. 여기에는 다음이 포함됩니다.
세션은 단일 사용자에 대해 여러 페이지에 걸쳐 정보(변수)를 저장하는 방법입니다. 쿠키와 달리 세션 데이터는 서버에 저장되므로 더욱 안전합니다. PHP에서 세션 사용을 시작하려면 session_start() 함수를 사용합니다.
저희 프로젝트에는 다음 기능이 포함됩니다.
우리 프로젝트의 구조는 다음과 같습니다.
project-folder/ │ ├── index.php # Form page ├── submit.php # Form handling and session storage ├── view_session.php # Viewing session data ├── delete_session.php # Deleting session data
index.php 파일에는 사용자가 세부 정보를 입력할 수 있는 간단한 HTML 양식이 포함되어 있습니다. 코드는 다음과 같습니다.
<?php session_start(); ?> <!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 Session 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>This file processes the submitted form data, validates it, and stores it in a session. Here's the code:<br> </p> <pre class="brush:php;toolbar:false"><?php session_start(); // 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'] : 'No gender selected.'; $hobbies = isset($_GET['hobbies']) ? $_GET['hobbies'] : ['No hobby selected.']; $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, store data in session if (empty($error_name) && empty($error_age) && empty($error_email) && empty($error_website)) { // Store data in session $_SESSION['name'] = $name; $_SESSION['age'] = $age; $_SESSION['email'] = $email; $_SESSION['website'] = $website; $_SESSION['gender'] = $gender; $_SESSION['hobbies'] = implode(", ", $hobbies); $_SESSION['comments'] = $comments; } } ?> <!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 Session Data (view_session.php) </h3> <p>This file displays session data stored on the server.<br> </p> <pre class="brush:php;toolbar:false"><?php session_start(); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>View Session Data</title> </head> <body> <h1>View Stored Session Data</h1> <?php if (isset($_SESSION['name'])) { echo "<p><strong>Name:</strong> " . $_SESSION['name'] . "</p>"; echo "<p><strong>Age:</strong> " . $_SESSION['age'] . "</p>"; echo "<p><strong>Email:</strong> " . $_SESSION['email'] . "</p>"; echo "<p><strong>Website:</strong> <a href='" . $_SESSION['website'] . "' target='_blank'>" . $_SESSION['website'] . "</a></p>"; echo "<p><strong>Gender:</strong> " . $_SESSION['gender'] . "</p>"; echo "<p><strong>Hobbies:</strong> " . $_SESSION['hobbies'] . "</p>"; echo "<p><strong>Comments:</strong> " . $_SESSION['comments'] . "</p>"; } else { echo "<p>No session data found!</p>"; } ?> <br><br> <a href="index.php">Go Back</a> </body> </html>
이 파일은 세션 데이터를 파괴합니다.
<?php session_start(); session_unset(); // Remove all session variables session_destroy(); // Destroy the session ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Session Deleted</title> </head> <body> <h1>Session Data Deleted</h1> <p>All session data has been deleted successfully.</p> <br><br> <a href="index.php">Go Back</a> </body> </html>
양식 처리:
세션:
$_SESSION 배열.
이 프로젝트는 PHP 양식 처리 및 세션 관리의 기본 사항을 보여줍니다. 이러한 개념을 사용하면 사용자 입력을 안전하고 효율적으로 처리하는 보다 복잡한 애플리케이션을 구축할 수 있습니다. 코드를 실험하고 데이터베이스 통합이나 고급 검증과 같은 기능을 추가하여 코드를 확장해 보세요.
즐거운 코딩하세요! ?
위 내용은 세션을 사용한 PHP 양식 처리 초보자 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!