جزوه آموزشی: فرم‌ها در HTML و نحوه پردازش آن‌ها در PHP

1. فرم چیست و چرا از آن استفاده می‌کنیم؟

در صفحات وب، برای گرفتن اطلاعات از کاربر (مثل نام، ایمیل، رمز عبور، انتخاب گزینه‌ها و …) از فرم (form) استفاده می‌کنیم.

کاربر اطلاعات را وارد می‌کند → فرم ارسال می‌شود → اطلاعات به PHP می‌رسد → PHP آن‌ها را پردازش می‌کند.


2. تگ اصلی فرم در HTML

فرم‌ها در HTML با تگ <form> ساخته می‌شوند.

ساختار کلی:

<form action="process.php" method="post">
    <!-- عناصر فرم -->
</form>

صفت‌های مهم تگ <form>

الف) action

مشخص می‌کند که اطلاعات فرم به کدام صفحه PHP ارسال شود.

مثال:

<form action="save.php">

یعنی بعد از کلیک روی دکمه ارسال، اطلاعات به فایل save.php فرستاده می‌شود.


ب) method

مشخص می‌کند اطلاعات به چه روشی ارسال شود:

1) POST

  • برای ارسال اطلاعات مهم، رمز، فرم ثبت‌نام و …
  • اطلاعات در نوار آدرس دیده نمی‌شود
  • امنیت بیشتر

2) GET

  • اطلاعات در آدرس صفحه ظاهر می‌شود
  • مناسب جستجو، فیلتر، کارهای غیرمحرمانه
  • محدودیت اندازه اطلاعات دارد

مثال:

<form method="post">

ج) enctype (اختیاری)

برای زمانی که فرم فایل (مثل عکس) ارسال می‌کند.

مثال:

<form method="post" enctype="multipart/form-data">

3. انواع ورودی‌ها (input types)

تگ اصلی دریافت اطلاعات:

<input type="text">

در ادامه تمام انواع ورودی‌های مهم را توضیح می‌دهیم:


1) text

برای وارد کردن متن معمولی مثل نام، نام خانوادگی.

<input type="text" name="fullname" placeholder="نام کامل">

2) password

برای رمز عبور (حروف دیده نمی‌شود)

<input type="password" name="password">

3) email

برای ایمیل، مرورگر بررسی می‌کند که درست باشد.

<input type="email" name="email">

4) number

اجازه ورود فقط عدد

<input type="number" name="age" min="1" max="100">

5) radio

برای انتخاب یک گزینه از چند مورد

<input type="radio" name="gender" value="male"> مرد
<input type="radio" name="gender" value="female"> زن

نکته: name باید یکی باشد تا فقط یک گزینه انتخاب شود.


6) checkbox

برای انتخاب چند گزینه

<input type="checkbox" name="hobby[]" value="sport"> ورزش
<input type="checkbox" name="hobby[]" value="music"> موسیقی

نکته مهم: در چک‌باکس‌ها اغلب از [] استفاده می‌شود چون چند مقدار ارسال می‌شود.


7) file

برای آپلود فایل

<input type="file" name="photo">

(به یاد داشته باشید: فرم باید enctype داشته باشد.)


8) date

برای انتخاب تاریخ

<input type="date" name="birthdate">

9) submit

دکمه ارسال فرم

<input type="submit" value="ارسال">

10) reset

دکمه پاک کردن ورودی‌ها

<input type="reset" value="پاک کردن">

4. تگ‌های مهم دیگر در فرم‌ها

1) <textarea>

برای نوشتن متن بلند (نظرات، توضیحات)

<textarea name="message" rows="5" cols="40"></textarea>

2) <select> و <option>

برای منوی انتخاب (dropdown)

<select name="city">
    <option value="tehran">تهران</option>
    <option value="mashhad">مشهد</option>
    <option value="tabriz">تبریز</option>
</select>

5. صفت‌های مهم در تگ‌های ورودی (input attributes)

1) name (مهم‌ترین صفت)

برای ارسال اطلاعات به PHP لازم است.

<input type="text" name="username">

2) value

مقدار اولیه

<input type="text" value="test">

3) placeholder

متن کم‌رنگ داخل باکس


4) required

برای اجباری کردن ورودی

<input type="email" required>

5) readonly

فقط نمایش می‌دهد، قابل ویرایش نیست.


6) disabled

در فرم غیرفعال است و ارسال هم نمی‌شود.


7) maxlength / minlength

حداکثر و حداقل تعداد کاراکتر


6. مثال کامل یک فرم HTML

<form action="result.php" method="post" enctype="multipart/form-data">

    نام:
    <input type="text" name="fullname" required><br><br>

    ایمیل:
    <input type="email" name="email"><br><br>

    رمز عبور:
    <input type="password" name="password"><br><br>

    جنسیت:
    <input type="radio" name="gender" value="male"> مرد
    <input type="radio" name="gender" value="female"> زن
    <br><br>

    علایق:
    <input type="checkbox" name="hobby[]" value="sport"> ورزش
    <input type="checkbox" name="hobby[]" value="music"> موسیقی
    <br><br>

    عکس:
    <input type="file" name="photo"><br><br>

    <input type="submit" value="ارسال">
</form>