شرح طريقة POST في PHP

في الدرس السابق تعلمت GET حيث تظهر البيانات في الرابط. الآن ننتقل إلى الطريقة الأكثر استخداماً في النماذج الحقيقية: POST.

طريقة POST مناسبة لتسجيل الدخول، إنشاء الحسابات، وإرسال البيانات التي لا تريد ظهورها في URL.

ما هي طريقة POST في PHP؟

عند استخدام POST، يرسل المتصفح البيانات داخل جسم الطلب (Request Body)، وليس داخل رابط الصفحة. ثم تستقبل PHP هذه البيانات عبر مصفوفة $_POST.

المستخدم يملأ النموذج → يضغط إرسال → البيانات تُرسل في Body → PHP تقرأها من $_POST

مثال 1: نموذج HTML بطريقة POST

الكود:

<form action="welcome.php" method="POST">
  الاسم: <input type="text" name="username">
  البريد: <input type="email" name="email">
  <button type="submit">إرسال</button>
</form>

لاحظ أن القيم لا تظهر في الرابط كما كان يحدث مع GET.

مثال 2: استقبال البيانات في PHP باستخدام $_POST

الكود في welcome.php:

<?php
if ($_SERVER["REQUEST_METHOD"] === "POST") {
    $name = $_POST["username"];
    $email = $_POST["email"];

    echo "الاسم: " . $name;
    echo "<br>";
    echo "البريد: " . $email;
}
?>

ما يظهر في المتصفح:

الاسم: Rachid
البريد: rachid@example.com

شرح كود PHP:

  • $_SERVER["REQUEST_METHOD"] === "POST" يتأكد أن الطلب قادم فعلاً بطريقة POST.
  • $_POST["username"] و$_POST["email"] يقرآن قيم الحقول حسب name.
  • عرض القيم هنا للتوضيح فقط، وفي المشاريع الحقيقية نتحقق منها قبل الاستخدام.

الفرق بين GET وPOST باختصار

النقطة GET POST
مكان إرسال البيانات داخل الرابط URL داخل Body الطلب
ظهور البيانات للمستخدم تظهر بوضوح في الرابط لا تظهر في الرابط مباشرة
أفضل استخدام بحث وفلاتر وروابط مشاركة تسجيل دخول، تسجيل، إرسال بيانات حساسة

أفضل ممارسات الأمان مع POST

  • تحقق دائماً من المدخلات قبل استخدامها أو تخزينها.
  • استخدم htmlspecialchars() عند عرض مدخلات المستخدم في الصفحة.
  • لا تعتمد على POST وحدها كحماية؛ فعّل HTTPS.
  • في النماذج المهمة استخدم CSRF Token.
مهم: POST أكثر ملاءمة للخصوصية من GET، لكنها لا تعني أن البيانات "مشفرة" تلقائياً.

أخطاء شائعة للمبتدئين

  • نسيان method="POST" داخل النموذج.
  • استخدام اسم حقل مختلف بين HTML و$_POST.
  • قراءة $_POST بدون التحقق من نوع الطلب.
  • الثقة بمدخلات المستخدم دون فلترة أو تحقق.

تمرين تطبيقي سريع

  1. أنشئ نموذج POST فيه full_name وpassword.
  2. في ملف الاستقبال تحقق أولاً من REQUEST_METHOD.
  3. اطبع الاسم فقط، ولا تطبع كلمة المرور.
  4. جرّب إضافة تحقق بسيط: إذا كان الاسم فارغاً اطبع رسالة خطأ.

الأسئلة الشائعة — FAQ

ما هي طريقة POST في PHP؟

هي طريقة لإرسال بيانات النموذج داخل جسم الطلب، وتُقرأ في PHP عبر $_POST.

ما الفرق بين GET وPOST؟

GET تعرض البيانات في الرابط، وPOST ترسلها داخل Body وتناسب النماذج الحساسة.

كيف أستقبل بيانات POST؟

باستخدام $_POST["field_name"] بعد إرسال النموذج بطريقة POST.

هل POST كافية للأمان؟

لا. تحتاج أيضاً تحقق من المدخلات، HTTPS، وحماية CSRF.

ممتاز! الآن فهمت طريقة POST واستقبال البيانات بشكل صحيح. في الدرس القادم سنتعلم التحقق من صحة بيانات النماذج (Validation).
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن