كيفية استخدام GET و POST لإرسال البيانات في PHP
تمت الكتابة بواسطة: عبد الحكيم
تارخ آخر تحديث: 19 سبتمبر 2024محتوى المقال
- ما هو الفرق بين GET و POST؟
- استخدام GET لإرسال البيانات
- استخدام POST لإرسال البيانات
- متى يجب استخدام GET أو POST؟
- الخلاصة
في تطوير تطبيقات الويب باستخدام PHP، تُستخدم طريقتا GET
وPOST
لإرسال البيانات من واجهة المستخدم (مثل النماذج) إلى الخادم. تعتمد كل طريقة على استخدام بروتوكول HTTP، ولكن لكل منهما خصائص واستخدامات مختلفة. في هذا المقال، سنشرح كيفية استخدام كلتا الطريقتين، والفرق بينهما، مع أمثلة عملية.
ما هو الفرق بين GET و POST؟
قبل أن ندخل في كيفية استخدام كل من GET
وPOST
، دعونا نوضح الفرق بينهما:
- GET: تُستخدم لإرسال البيانات عبر عنوان URL. عادةً ما تُستخدم لجلب البيانات من الخادم، وتكون البيانات مرئية في شريط العنوان.
- POST: تُستخدم لإرسال البيانات في جسد الطلب (Body)، وعادةً ما تُستخدم لإرسال البيانات الحساسة أو الكبيرة. البيانات لا تظهر في عنوان URL.
استخدام GET لإرسال البيانات
عند استخدام طريقة GET
، يتم إرفاق البيانات بالعنوان (URL) مما يجعلها مرئية، ويمكن الوصول إلى البيانات باستخدام المتغير الفائق $_GET
في PHP. لنأخذ مثالًا بسيطًا:
مثال على استخدام GET
لنفترض أن لدينا نموذجًا بسيطًا لجمع اسم المستخدم، وسنستخدم GET
لإرسال البيانات:
<!DOCTYPE html>
<html>
<body>
<form method="get" action="welcome_get.php">
الاسم: <input type="text" name="name"><br>
العمر: <input type="text" name="age"><br>
<input type="submit">
</form>
</body>
</html>
عند النقر على زر الإرسال، سيتم إرسال البيانات إلى ملف PHP آخر (مثل welcome_get.php
)، ويمكنك عرض البيانات كالتالي:
<?php
echo "مرحبًا " . $_GET['name'] . "<br>";
echo "عمرك هو " . $_GET['age'] . " سنة.";
?>
نتيجة:
إذا أدخل المستخدم الاسم "أحمد" والعمر "25"، فإن العنوان في المتصفح سيكون:
http://example.com/welcome_get.php?name=Ahmed&age=25
وسيتم عرض:
مرحبًا أحمد
عمرك هو 25 سنة.
استخدام POST لإرسال البيانات
عند استخدام طريقة POST
، يتم إرسال البيانات في جسد الطلب (Body)، مما يجعلها أكثر أمانًا عند إرسال بيانات حساسة مثل كلمات المرور أو المعلومات الشخصية. يمكن الوصول إلى البيانات باستخدام المتغير الفائق $_POST
في PHP.
مثال على استخدام POST
إليك مثالًا مشابهًا باستخدام طريقة POST
:
<!DOCTYPE html>
<html>
<body>
<form method="post" action="welcome_post.php">
الاسم: <input type="text" name="name"><br>
العمر: <input type="text" name="age"><br>
<input type="submit">
</form>
</body>
</html>
بعد إرسال النموذج، يمكن الوصول إلى البيانات ومعالجتها في welcome_post.php
كالتالي:
<?php
echo "مرحبًا " . $_POST['name'] . "<br>";
echo "عمرك هو " . $_POST['age'] . " سنة.";
?>
نتيجة:
عند إرسال البيانات، لن تظهر في شريط العنوان كما هو الحال مع GET
، مما يجعل POST
أكثر أمانًا عند إرسال بيانات حساسة.
متى يجب استخدام GET أو POST؟
يعتمد الاختيار بين GET
وPOST
على طبيعة البيانات التي ترغب في إرسالها:
- استخدم
GET
عندما: - تكون البيانات غير حساسة.
- تريد أن تكون البيانات قابلة للعرض والمشاركة عبر URL.
- تحتاج إلى استرداد بيانات أو عرض محتوى معين.
- استخدم
POST
عندما: - تكون البيانات حساسة (مثل كلمات المرور أو المعلومات الشخصية).
- تريد إرسال كمية كبيرة من البيانات.
- تحتاج إلى إرسال البيانات بشكل آمن وخفي عن المستخدم.
الخلاصة
الفرق الرئيسي بين GET
وPOST
يكمن في طريقة إرسال البيانات من المتصفح إلى الخادم. بينما GET
تُرسل البيانات عبر عنوان URL، فإن POST
تُرسل البيانات في جسد الطلب. اختيار الطريقة المناسبة يعتمد على نوع البيانات والاحتياجات الأمنية لتطبيقك.
طور مهاراتك: مقالات يجب قراءتها في البرمجة
- كيفية التحقق من صحة البيانات المدخلة في نماذج HTML باستخدام PHP
- كيفية إنشاء صفحات متعددة اللغات باستخدام PHP
- كيفية التعامل مع ملفات الكوكيز (Cookies) في PHP
- كيفية إنشاء رسومات بيانية باستخدام HTML و JavaScript
- كيفية استخدام مكتبات PHP الخارجية
- كيفية تحسين SEO لصفحات HTML الخاصة بك
- كيفية بناء تطبيق ويب كامل باستخدام PHP و HTML
- كيفية التعامل مع الأحداث (Events) في HTML
- كيفية استخدام الجداول في عرض البيانات باستخدام HTML
- كيفية استخدام Ajax مع PHP لتحديث الصفحات بدون إعادة تحميل