راهنمای مبتدیان برای مدیریت فرم PHP با جلسات

Summarize this content to 400 words in Persian Lang
اگر با PHP تازه کار هستید و می خواهید یاد بگیرید که چگونه فرم ها را مدیریت کنید و با داده های جلسه کار کنید، این راهنما برای شما مناسب است. ما یک پروژه ساده خواهیم ساخت که در آن کاربر می تواند فرمی را ارسال کند، داده ها را در یک جلسه ذخیره کند، آن را مشاهده کند و بعداً آن را حذف کند. در پایان این آموزش، اصول مدیریت فرم PHP، اعتبارسنجی، پاکسازی و جلسات را خواهید فهمید.
مدیریت فرم در PHP چیست؟
مدیریت فرم به فرآیند جمعآوری دادههای ارسال شده از طریق فرم HTML و پردازش آن در زبان سمت سرور مانند PHP اشاره دارد. این شامل:
واکشی داده های فرم: استفاده از روش هایی مانند GET یا POST.
اعتبارسنجی داده ها: اطمینان از مطابقت ورودی با معیارهای خاص.
پاکسازی داده ها: پاک کردن ورودی برای جلوگیری از مشکلات امنیتی مانند حملات XSS.
ذخیره یا پردازش داده ها: ذخیره آن در جلسات، پایگاه داده یا نمایش آن به کاربر.
Session ها در PHP چیست؟
جلسات راهی برای ذخیره اطلاعات (متغیرها) در چندین صفحه برای یک کاربر واحد است. برخلاف کوکیها، دادههای جلسه روی سرور ذخیره میشوند و امنیت آن را افزایش میدهند. برای شروع استفاده از session ها در PHP، از عبارت استفاده می کنیم session_start() تابع
پروژه: فرم PHP با مدیریت جلسه
پروژه ما شامل ویژگی های زیر است:
کاربر فرمی را با اطلاعات شخصی پر می کند.
داده های ارسالی تایید و پاکسازی می شوند.
داده های معتبر در یک جلسه ذخیره می شود.
کاربران می توانند داده های جلسه را مشاهده یا حذف کنند.
ساختار فایل
در اینجا ساختار پروژه ما آمده است:
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
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 1: ایجاد فرم (index.php)
را index.php فایل حاوی یک فرم ساده HTML است که کاربران می توانند جزئیات خود را وارد کنند. این هم کد:
session_start(); ?>
lang=”en”https://dev.to/harshm03/>
charset=”UTF-8″https://dev.to/harshm03/>
name=”viewport” content=”width=device-width, initial-scale=1.0″https://dev.to/harshm03/>
PHP Form with Session Handling
Submit Your Information
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 2: رسیدگی به ارسال فرم (submit.php)
این فایل دادههای فرم ارسالی را پردازش میکند، آنها را اعتبارسنجی میکند و در یک جلسه ذخیره میکند. این هم کد:
session_start();
// Initialize error messages and data variables
$error_name = “”https://dev.to/harshm03/;
$error_age = “”https://dev.to/harshm03/;
$error_email = “”https://dev.to/harshm03/;
$error_website = “”https://dev.to/harshm03/;
$name = $age = $email = $website = $gender = $comments = $hobbies = “”https://dev.to/harshm03/;
// Sanitize and validate the form data
if ($_SERVER[“REQUEST_METHOD”https://dev.to/harshm03/] == “GET”https://dev.to/harshm03/) {
// Sanitize inputs
$name = htmlspecialchars(trim($_GET[‘name”https://dev.to/harshm03/]));
$age = htmlspecialchars(trim($_GET[‘age”https://dev.to/harshm03/]));
$email = htmlspecialchars(trim($_GET[’email”https://dev.to/harshm03/]));
$website = htmlspecialchars(trim($_GET[‘website”https://dev.to/harshm03/]));
$gender = isset($_GET[‘gender”https://dev.to/harshm03/]) ? $_GET[‘gender”https://dev.to/harshm03/] : ‘No gender selected.”https://dev.to/harshm03/;
$hobbies = isset($_GET[‘hobbies”https://dev.to/harshm03/]) ? $_GET[‘hobbies”https://dev.to/harshm03/] : [‘No hobby selected.”https://dev.to/harshm03/];
$comments = htmlspecialchars(trim($_GET[‘comments”https://dev.to/harshm03/]));
// Validation checks
if (empty($name)) {
$error_name = “Name is required.”https://dev.to/harshm03/;
}
if (empty($age) || !filter_var($age, FILTER_VALIDATE_INT) || $age <= 0) {
$error_age = “Valid age is required.”https://dev.to/harshm03/;
}
if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
$error_email = “Valid email is required.”https://dev.to/harshm03/;
}
if (empty($website) || !filter_var($website, FILTER_VALIDATE_URL)) {
$error_website = “Valid website URL is required.”https://dev.to/harshm03/;
}
// 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”https://dev.to/harshm03/] = $name;
$_SESSION[‘age”https://dev.to/harshm03/] = $age;
$_SESSION[’email”https://dev.to/harshm03/] = $email;
$_SESSION[‘website”https://dev.to/harshm03/] = $website;
$_SESSION[‘gender”https://dev.to/harshm03/] = $gender;
$_SESSION[‘hobbies”https://dev.to/harshm03/] = implode(“, “https://dev.to/harshm03/, $hobbies);
$_SESSION[‘comments”https://dev.to/harshm03/] = $comments;
}
}
?>
lang=”en”https://dev.to/harshm03/>
charset=”UTF-8″https://dev.to/harshm03/>
name=”viewport” content=”width=device-width, initial-scale=1.0″https://dev.to/harshm03/>
Form Submission Result
Form Submission Result
if ($error_name) {
echo “$error_name”https://dev.to/harshm03/;
}
if ($error_age) {
echo “$error_age”https://dev.to/harshm03/;
}
if ($error_email) {
echo “$error_email”https://dev.to/harshm03/;
}
if ($error_website) {
echo “$error_website”https://dev.to/harshm03/;
}
if (empty($error_name) && empty($error_age) && empty($error_email) && empty($error_website)) {
// Display the form submission results
echo “Form Submission Results:”https://dev.to/harshm03/;
echo “Name: $name”https://dev.to/harshm03/;
echo “Age: $age”https://dev.to/harshm03/;
echo “Email: $email”https://dev.to/harshm03/;
echo “Website: $website” target=”_blank”>$website”https://dev.to/harshm03/;
echo “Gender: $gender”https://dev.to/harshm03/;
echo “Hobbies: ” . implode(“, “https://dev.to/harshm03/, $hobbies) . “”https://dev.to/harshm03/;
echo “Comments: $comments”https://dev.to/harshm03/;
}
?>
href=”index.php”https://dev.to/harshm03/>Go Back
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 3: مشاهده داده های جلسه (view_session.php)
این فایل داده های نشست ذخیره شده در سرور را نمایش می دهد.
session_start(); ?>
lang=”en”https://dev.to/harshm03/>
charset=”UTF-8″https://dev.to/harshm03/>
name=”viewport” content=”width=device-width, initial-scale=1.0″https://dev.to/harshm03/>
View Session Data
View Stored Session Data
if (isset($_SESSION[‘name”https://dev.to/harshm03/])) {
echo “Name: ” . $_SESSION[‘name”https://dev.to/harshm03/] . “”https://dev.to/harshm03/;
echo “Age: ” . $_SESSION[‘age”https://dev.to/harshm03/] . “”https://dev.to/harshm03/;
echo “Email: ” . $_SESSION[’email”https://dev.to/harshm03/] . “”https://dev.to/harshm03/;
echo “Website: . $_SESSION[“website”https://dev.to/harshm03/] . “‘ target=”_blank”>” . $_SESSION[‘website”https://dev.to/harshm03/] . “”https://dev.to/harshm03/;
echo “Gender: ” . $_SESSION[‘gender”https://dev.to/harshm03/] . “”https://dev.to/harshm03/;
echo “Hobbies: ” . $_SESSION[‘hobbies”https://dev.to/harshm03/] . “”https://dev.to/harshm03/;
echo “Comments: ” . $_SESSION[‘comments”https://dev.to/harshm03/] . “”https://dev.to/harshm03/;
} else {
echo “No session data found!”https://dev.to/harshm03/;
}
?>
href=”index.php”https://dev.to/harshm03/>Go Back
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مرحله 4: حذف داده های جلسه (delete_session.php)
این فایل داده های جلسه را از بین می برد.
session_start();
session_unset(); // Remove all session variables
session_destroy(); // Destroy the session
?>
lang=”en”https://dev.to/harshm03/>
charset=”UTF-8″https://dev.to/harshm03/>
name=”viewport” content=”width=device-width, initial-scale=1.0″https://dev.to/harshm03/>
Session Deleted
Session Data Deleted
All session data has been deleted successfully.
href=”index.php”https://dev.to/harshm03/>Go Back
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مفاهیم کلیدی تحت پوشش
رسیدگی به فرم:
واکشی داده ها با استفاده از GET روش
اعتبار سنجی ورودی ها با شرایط و فیلترها.
ورودی های بهداشتی با htmlspecialchars().
جلسات:
شروع یک جلسه با session_start().
ذخیره سازی داده ها در
را $_SESSION آرایه
مشاهده داده های جلسه
حذف داده های جلسه با استفاده از session_unset() و session_destroy().
نتیجه گیری
این پروژه اصول مدیریت فرم PHP و مدیریت جلسه را نشان می دهد. با استفاده از این مفاهیم، می توانید برنامه های پیچیده تری بسازید که ورودی های کاربر را به صورت ایمن و کارآمد مدیریت کنند. کد را آزمایش کنید و با افزودن ویژگیهایی مانند یکپارچهسازی پایگاه داده یا اعتبارسنجی پیشرفتهتر، آن را گسترش دهید.
کد نویسی مبارک! 🚀
اگر با PHP تازه کار هستید و می خواهید یاد بگیرید که چگونه فرم ها را مدیریت کنید و با داده های جلسه کار کنید، این راهنما برای شما مناسب است. ما یک پروژه ساده خواهیم ساخت که در آن کاربر می تواند فرمی را ارسال کند، داده ها را در یک جلسه ذخیره کند، آن را مشاهده کند و بعداً آن را حذف کند. در پایان این آموزش، اصول مدیریت فرم PHP، اعتبارسنجی، پاکسازی و جلسات را خواهید فهمید.
مدیریت فرم در PHP چیست؟
مدیریت فرم به فرآیند جمعآوری دادههای ارسال شده از طریق فرم HTML و پردازش آن در زبان سمت سرور مانند PHP اشاره دارد. این شامل:
-
واکشی داده های فرم: استفاده از روش هایی مانند
GET
یاPOST
. - اعتبارسنجی داده ها: اطمینان از مطابقت ورودی با معیارهای خاص.
- پاکسازی داده ها: پاک کردن ورودی برای جلوگیری از مشکلات امنیتی مانند حملات XSS.
- ذخیره یا پردازش داده ها: ذخیره آن در جلسات، پایگاه داده یا نمایش آن به کاربر.
Session ها در PHP چیست؟
جلسات راهی برای ذخیره اطلاعات (متغیرها) در چندین صفحه برای یک کاربر واحد است. برخلاف کوکیها، دادههای جلسه روی سرور ذخیره میشوند و امنیت آن را افزایش میدهند. برای شروع استفاده از session ها در PHP، از عبارت استفاده می کنیم session_start()
تابع
پروژه: فرم PHP با مدیریت جلسه
پروژه ما شامل ویژگی های زیر است:
- کاربر فرمی را با اطلاعات شخصی پر می کند.
- داده های ارسالی تایید و پاکسازی می شوند.
- داده های معتبر در یک جلسه ذخیره می شود.
- کاربران می توانند داده های جلسه را مشاهده یا حذف کنند.
ساختار فایل
در اینجا ساختار پروژه ما آمده است:
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
مرحله 1: ایجاد فرم (index.php
)
را index.php
فایل حاوی یک فرم ساده HTML است که کاربران می توانند جزئیات خود را وارد کنند. این هم کد:
session_start(); ?>
lang="en"https://dev.to/harshm03/>
charset="UTF-8"https://dev.to/harshm03/>
name="viewport" content="width=device-width, initial-scale=1.0"https://dev.to/harshm03/>
PHP Form with Session Handling
Submit Your Information
مرحله 2: رسیدگی به ارسال فرم (submit.php
)
این فایل دادههای فرم ارسالی را پردازش میکند، آنها را اعتبارسنجی میکند و در یک جلسه ذخیره میکند. این هم کد:
session_start();
// Initialize error messages and data variables
$error_name = ""https://dev.to/harshm03/;
$error_age = ""https://dev.to/harshm03/;
$error_email = ""https://dev.to/harshm03/;
$error_website = ""https://dev.to/harshm03/;
$name = $age = $email = $website = $gender = $comments = $hobbies = ""https://dev.to/harshm03/;
// Sanitize and validate the form data
if ($_SERVER["REQUEST_METHOD"https://dev.to/harshm03/] == "GET"https://dev.to/harshm03/) {
// Sanitize inputs
$name = htmlspecialchars(trim($_GET['name"https://dev.to/harshm03/]));
$age = htmlspecialchars(trim($_GET['age"https://dev.to/harshm03/]));
$email = htmlspecialchars(trim($_GET['email"https://dev.to/harshm03/]));
$website = htmlspecialchars(trim($_GET['website"https://dev.to/harshm03/]));
$gender = isset($_GET['gender"https://dev.to/harshm03/]) ? $_GET['gender"https://dev.to/harshm03/] : 'No gender selected."https://dev.to/harshm03/;
$hobbies = isset($_GET['hobbies"https://dev.to/harshm03/]) ? $_GET['hobbies"https://dev.to/harshm03/] : ['No hobby selected."https://dev.to/harshm03/];
$comments = htmlspecialchars(trim($_GET['comments"https://dev.to/harshm03/]));
// Validation checks
if (empty($name)) {
$error_name = "Name is required."https://dev.to/harshm03/;
}
if (empty($age) || !filter_var($age, FILTER_VALIDATE_INT) || $age <= 0) {
$error_age = "Valid age is required."https://dev.to/harshm03/;
}
if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
$error_email = "Valid email is required."https://dev.to/harshm03/;
}
if (empty($website) || !filter_var($website, FILTER_VALIDATE_URL)) {
$error_website = "Valid website URL is required."https://dev.to/harshm03/;
}
// 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"https://dev.to/harshm03/] = $name;
$_SESSION['age"https://dev.to/harshm03/] = $age;
$_SESSION['email"https://dev.to/harshm03/] = $email;
$_SESSION['website"https://dev.to/harshm03/] = $website;
$_SESSION['gender"https://dev.to/harshm03/] = $gender;
$_SESSION['hobbies"https://dev.to/harshm03/] = implode(", "https://dev.to/harshm03/, $hobbies);
$_SESSION['comments"https://dev.to/harshm03/] = $comments;
}
}
?>
lang="en"https://dev.to/harshm03/>
charset="UTF-8"https://dev.to/harshm03/>
name="viewport" content="width=device-width, initial-scale=1.0"https://dev.to/harshm03/>
Form Submission Result
Form Submission Result
if ($error_name) {
echo "$error_name"https://dev.to/harshm03/;
}
if ($error_age) {
echo "$error_age"https://dev.to/harshm03/;
}
if ($error_email) {
echo "$error_email"https://dev.to/harshm03/;
}
if ($error_website) {
echo "$error_website"https://dev.to/harshm03/;
}
if (empty($error_name) && empty($error_age) && empty($error_email) && empty($error_website)) {
// Display the form submission results
echo "Form Submission Results:
"https://dev.to/harshm03/;
echo "Name:
$name"https://dev.to/harshm03/;
echo "Age:
$age"https://dev.to/harshm03/;
echo "Email:
$email"https://dev.to/harshm03/;
echo "Website: $website
" target="_blank">$website"https://dev.to/harshm03/;
echo "Gender:
$gender"https://dev.to/harshm03/;
echo "Hobbies: "
. implode(", "https://dev.to/harshm03/, $hobbies) . ""https://dev.to/harshm03/;
echo "Comments:
$comments"https://dev.to/harshm03/;
}
?>
href="index.php"https://dev.to/harshm03/>Go Back
مرحله 3: مشاهده داده های جلسه (view_session.php
)
این فایل داده های نشست ذخیره شده در سرور را نمایش می دهد.
session_start(); ?>
lang="en"https://dev.to/harshm03/>
charset="UTF-8"https://dev.to/harshm03/>
name="viewport" content="width=device-width, initial-scale=1.0"https://dev.to/harshm03/>
View Session Data
View Stored Session Data
if (isset($_SESSION['name"https://dev.to/harshm03/])) {
echo "Name: "
. $_SESSION['name"https://dev.to/harshm03/] . ""https://dev.to/harshm03/;
echo "Age: "
. $_SESSION['age"https://dev.to/harshm03/] . ""https://dev.to/harshm03/;
echo "Email: "
. $_SESSION['email"https://dev.to/harshm03/] . ""https://dev.to/harshm03/;
echo "Website: . $_SESSION["website"https://dev.to/harshm03/] . "' target="_blank">" . $_SESSION['website"https://dev.to/harshm03/] . "
"https://dev.to/harshm03/;
echo "Gender: "
. $_SESSION['gender"https://dev.to/harshm03/] . ""https://dev.to/harshm03/;
echo "Hobbies: "
. $_SESSION['hobbies"https://dev.to/harshm03/] . ""https://dev.to/harshm03/;
echo "Comments: "
. $_SESSION['comments"https://dev.to/harshm03/] . ""https://dev.to/harshm03/;
} else {
echo "No session data found!
"https://dev.to/harshm03/;
}
?>
href="index.php"https://dev.to/harshm03/>Go Back
مرحله 4: حذف داده های جلسه (delete_session.php
)
این فایل داده های جلسه را از بین می برد.
session_start();
session_unset(); // Remove all session variables
session_destroy(); // Destroy the session
?>
lang="en"https://dev.to/harshm03/>
charset="UTF-8"https://dev.to/harshm03/>
name="viewport" content="width=device-width, initial-scale=1.0"https://dev.to/harshm03/>
Session Deleted
Session Data Deleted
All session data has been deleted successfully.
href="index.php"https://dev.to/harshm03/>Go Back
مفاهیم کلیدی تحت پوشش
-
رسیدگی به فرم:
- واکشی داده ها با استفاده از
GET
روش - اعتبار سنجی ورودی ها با شرایط و فیلترها.
- ورودی های بهداشتی با
htmlspecialchars()
.
- واکشی داده ها با استفاده از
-
جلسات:
- شروع یک جلسه با
session_start()
. - ذخیره سازی داده ها در
- شروع یک جلسه با
را $_SESSION
آرایه
- مشاهده داده های جلسه
- حذف داده های جلسه با استفاده از
session_unset()
وsession_destroy()
.
نتیجه گیری
این پروژه اصول مدیریت فرم PHP و مدیریت جلسه را نشان می دهد. با استفاده از این مفاهیم، می توانید برنامه های پیچیده تری بسازید که ورودی های کاربر را به صورت ایمن و کارآمد مدیریت کنند. کد را آزمایش کنید و با افزودن ویژگیهایی مانند یکپارچهسازی پایگاه داده یا اعتبارسنجی پیشرفتهتر، آن را گسترش دهید.
کد نویسی مبارک! 🚀