عضویت در سایت

ورود

فراموشی رمز عبور

رمز عبور خود را فراموش کرده اید؟ ایمیل خود را وارد کنید

ورود

عضویت در سایت

رایگان ثبت نام کنید و سوالات خود را بپرسید، همچنین میتوانید در پاسخگویی به سوالات دیگر کاربران نیز سهیم باشید، هر مشکلی در ثبت نام یا ورود داشتید با ایمیل beporsam@gmail.com در ارتباط باشید

در بین 1171 آموزش و 2026 پرسش به دنبال چه هستید؟

ویندوز
نصب آنلاین ویندوز

ویندوز 7,8,10,11
مشاوره
مشاوره خرید لپ تاپ و کامپیوتر

مشاوره حرفه ای دریافت کن
بلاگ
مقالات آموزشی

1k+
پشتیبانی آنلاین

سخت افزار/نرم افزار

آموزش فرم ها در PHP – تکمیل فرم

سلام

در پنجمین قسمت کار با فرم ها هستیم؛ تا اینجا به موارد زیادی از جمله:

  1. ارسال داده های فرم
  2. اعتبارسنجی داده های فرم
  3. فیلدهای ضروری
  4. اعتبارسنجی فیلدها

گفتیم، حالا در آخرین قسمت نکات نهایی و کد کامل فرم را در اختیارتان قرار میدهیم، در ادامه همراه بپرسم باشید.

نگهداری مقادیر فرم ها

زمانی که کاربر فیلدهای فرم را تکمیل و ارسال کرد، میتوانیم پس از ارسال، مقادیر را نشان دهیم، برای این کار فقط کافیست تا متغیرهایی که برای ذخیره مقادیر ارسالی در سمت سرور تعریف کردیم را در خاصیت value تگ های input و بین تگ <textarea> قرار دهیم.

Name: <input type="text" name="name" value="<?php echo $name;?>">

E-mail: <input type="text" name="email" value="<?php echo $email;?>">

Website: <input type="text" name="website" value="<?php echo $website;?>">

Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>

Gender:
<input type="radio" name="gender"
<?php if (isset($gender) && $gender=="female") echo "checked";?>
value="female">Female
<input type="radio" name="gender"
<?php if (isset($gender) && $gender=="male") echo "checked";?>
value="male">Male
<input type="radio" name="gender"
<?php if (isset($gender) && $gender=="other") echo "checked";?>
value="other">Other

در تگ های radio و checkbox خاصیتی داریم که اسم checked که وقتی کاربر این گزینه ها را انتخاب کند، این خاصیت فعال میشود.

کد نهایی فرم

<!DOCTYPE HTML>  
<html>
<head>
</head>
<body>  
 
<?php
// تابعی که نوشتیم و داده های ارسالی را قبلا از ارسال از این تابع عبور میدهیم
function filterInput($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
 
// تغریف متغیر ها و دادن مقدار اولیه خالی به هر کدام
$name = $email = $gender = $comment = $website = "";
// تعریف متغیر، برای نگهداری پیغام های خطا
$nameErr = $emailErr = $genderErr = $websiteErr = "";
 

// چک میکنیم اگر متد ارسالی برابر پست بود، مقادیر را از فرم دریافت کند
// و از تابعی که نوشتیم، عبور دهد تا داده هایی بی عیب و نقص داشته باشیم.
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Name is required";
  } else {
    $name = filterInput($_POST["name"]);
    // کاربر در فیلد نام، فقط مجاز به استفاده از حروف و فضای خالی می باشد
    if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
      $nameErr = "Only letters and white space allowed";
    }
  }

  if (empty($_POST["email"])) {
    $emailErr = "Email is required";
  } else {
    $email = filterInput($_POST["email"]);
    // بررسی صحیح بودن آدرس ایمیل
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $emailErr = "Invalid email format";
    }
  }

  if (empty($_POST["website"])) {
    $website = "";
  } else {
    $website = filterInput($_POST["website"]);
    // بررسی صحیح بودن آدرس سایت
    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
      $websiteErr = "Invalid URL";
    }
  }

  if (empty($_POST["comment"])) {
    $comment = "";
  } else {
    $comment = filterInput($_POST["comment"]);
  }

  if (empty($_POST["gender"])) {
    $genderErr = "Gender is required";
  } else {
    $gender = filterInput($_POST["gender"]);
  }
}
?> 
 
<h2>PHP Form Validation Example</h2>
 <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
 
Name: <input type="text" name="name" value="<?php echo $name;?> >
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail:
<input type="text" name="email" value="<?php echo $email;?>">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website:
<input type="text" name="website" value="<?php echo $website;?>>
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"> <?php echo $comment;?> </textarea>
<br><br>
Gender:
<input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?> value="female">Female
<input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?> value="male">Male
<input type="radio" name="gender" <?php if (isset($gender) && $gender=="other") echo "checked";?> value="other">Other  
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form> 
 
<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>
</body>
</html>

کار با فرم ها در PHP به پایان رسید و مثال خوبی نیز زدیم، در قسمت های پیشرفته PHP که کار با دیتابیس و انجام پروژه های عملی خواهد بود، با فرم ها به صورت مکرر کار خواهیم کرد.

مطلب پیشنهادی:  معرفی ربات تلگرام تبدیل متن به عکس

سوالی در رابطه با مبحث فرم ها داشتید، در بخش پرسش و پاسخ سایت بپرسید، پاسخگوی شما خواهیم بود.

موفق باشید.

درباره احمد آخوندیمدیر سایت

همیشه در تلاش برای یادگیری :) ارتباط با من: 09159352892

دنبال کردن

ارسال نظر

رفتن به بالا

سامانه آموزشی و خدماتی بپرسم

اولین وب سایت آموزشی و پرسش و پاسخ در ایران

بپرسم را میتوان به عنوان مرجعی برای آموزش و حل مشکلات دانست، در بپرسم سعی کرده ایم آموزش های برنامه نویسی، طراحی سایت، کار با نرم افزارها ها و… را آموزش دهیم. همچنین محیطی فراهم کرده ایم تا کاربران بتوانند در این محیط سوالات خود را بپرسند و مشکل خود را حل کنند.