شرح مقدمة النماذج (Forms) في PHP
أي موقع تفاعلي يحتاج طريقة لاستقبال بيانات المستخدم: تسجيل حساب، تسجيل دخول، إرسال رسالة، أو بحث داخل الموقع. هذه المهمة يقوم بها النموذج (Form).
في هذا الدرس ستفهم كيف يعمل نموذج HTML مع PHP، وما هي الخصائص الأساسية التي يجب أن تتقنها قبل معالجة البيانات.
ما هو Form في PHP؟
الـ Form هو جزء من HTML يحتوي حقول إدخال (Inputs) وزر إرسال. عندما يضغط المستخدم على Submit، يرسل المتصفح البيانات إلى ملف PHP ليعالجها.
المستخدم يملأ الحقول → يضغط إرسال → المتصفح يرسل البيانات → PHP تستقبل وتعالج
مثال 1: هيكل نموذج بسيط
الكود:
<form action="process.php" method="POST">
الاسم: <input type="text" name="username">
<input type="submit" value="إرسال">
</form>
شرح الكود:
action="process.php"يحدد الملف الذي سيستقبل البيانات.method="POST"يحدد طريقة الإرسال.name="username"هو المفتاح الذي نستخدمه في PHP للوصول للقيمة.
الخصائص الأساسية داخل form
| الخاصية | وظيفتها | مثال |
|---|---|---|
action |
مسار الملف الذي سيعالج البيانات | action="process.php" |
method |
طريقة إرسال البيانات (GET أو POST) | method="POST" |
name |
اسم الحقل الذي تعتمد عليه PHP | name="email" |
مثال 2: كيف تستقبل PHP قيمة حقل
إذا كان الإرسال باستخدام POST وكان اسم الحقل username، يمكن قراءة القيمة هكذا:
<?php
echo $_POST["username"];
?>
سنتوسع في GET وPOST بالتفصيل في الدروس القادمة، لكن هنا المهم أن تربط بين
name في HTML والمفتاح داخل $_POST أو $_GET.
name لن تصل قيمة الحقل إلى PHP حتى لو كتب المستخدم بياناته.
متى نستخدم Forms؟
- تسجيل مستخدم جديد.
- تسجيل الدخول.
- إرسال رسالة عبر صفحة "اتصل بنا".
- تنفيذ عمليات البحث والتصفية.
أخطاء شائعة للمبتدئين
- نسيان خاصية
nameداخلinput. - كتابة
actionبشكل خاطئ (مسار غير صحيح). - الخلط بين
GETوPOSTقبل فهم الفرق بينهما. - الاعتماد على استقبال البيانات بدون التحقق من وجودها.
تمرين تطبيقي سريع
- أنشئ نموذجاً يحتوي حقلين:
usernameوemail. - اجعل
method="POST"وaction="process.php". - في
process.phpاطبع القيمتين باستخدام$_POST.
الأسئلة الشائعة — FAQ
ما هو Form في PHP؟
هو نموذج HTML يجمع مدخلات المستخدم ويرسلها إلى ملف PHP لمعالجتها.
ما وظيفة action؟
تحدد الملف الذي سيستقبل البيانات بعد الضغط على زر الإرسال.
ما الفرق بين GET وPOST؟
GET ترسل البيانات في الرابط، وPOST ترسلها داخل جسم الطلب.
لماذا name ضرورية؟
لأن PHP تعتمد عليها كمفتاح للوصول إلى قيمة كل حقل.