أساسيات البرمجة برمجة المواقع بي اتش بي دالة $ PHP GET and POST Methods
دالة $ PHP GET and POST Methods
دالة $ PHP GET and POST Methods
هناك ست طرق طلب ، ولكن يتم استخدام ثلاث طرق فقط في الممارسة:هناك ست طرق طلب ، ولكن يتم استخدام ثلاث طرق فقط في الممارسة:
Get
يسترجع المورد. يمكن استخدام الاستعلام لإضافة معلومات إضافية إلى GETالطلب ، وكما ناقشنا في مقدمتنا لعناوين URL ، يتم إلحاقها بعنوان URL نفسه. يعد البحث في قاعدة البيانات مثالًا جيدًا لتطبيق GETالطلب: من المحتمل أن يكون المورد نصًا برمجيًا على الويب ، ومكون الاستعلام لعنوان URL هو شروط البحث.
Post
يرسل البيانات إلى الخادم. بدلاً من إلحاق البيانات بعنوان URL ، يتم إرسال البيانات في نص طلب HTTP.
Head
لا يُرجع سوى حقول الرأس في الاستجابة ، وليس المورد نفسه. يمكن استخدام هذا للاسترجاع الخفيف ، بحيث يمكن التحقق من تاريخ تعديل المورد قبل استرداد المورد بالكامل GET.
Delete
يسمح بحذف مورد محدد بواسطة عنوان URL من الخادم. هذا هو المقابل PUTللطريقة ويسمح للمؤلف بإزالة مورد من عنوان URL المحدد. عادة لا تنفذ.
Put
على غرار POSTالطريقة ، تم تصميم هذه الطريقة لوضع مورد على خادم يمكن استرداده لاحقًا باستخدام عنوان URL في PUTالطلب. تدعم بعض برامج تحرير HTML وخوادم الويب PUTالطرق التي تسمح للمؤلفين بوضع الموارد على موقع ويب على عنوان URL المحدد. عادة لا تنفذ.
Trace
ينتج معلومات تشخيصية.
يقسم معيار HTTP هذه الطرق إلى تلك الطرق الآمنة وتلك غير الآمنة. وmethods- آمنة GETو HEADمش لديك أي آثار جانبية المستمرة على الخادم. وmethods- غير آمنة POST، PUTو DELETE-by طبيعتها صممت ليكون لها آثار المستمرة على الخادم. يسمح المعيار للعملاء بتحذير المستخدمين من أن الطلب قد يكون غير آمن ، ويجب ألا يعيد المتصفح إرسال طلب POSTبالطريقة دون تأكيد المستخدم.
يصنف معيار HTTP أيضًا الطرق على أنها غير فعالة عندما يمكن تكرار الطلب عدة مرات ويكون لها نفس التأثير كما لو تم استدعاء الطريقة مرة واحدة. يتم تصنيف طرق GET و HEAD و PUT و DELETE على أنها غير فعالة ؛ طريقة POST ليست كذلك.
توجد طرقتين لاستقبال البيانات أو المعلومات من المستخدم فمثلا بيانات التسجيل أو تسجيل الدخول يمكن ارسالها للسيرفر بطريقتين إما باستخدام الدالة get_$ او post_$ فالدالتين تستخدمان لنقل المعلومات من جهاز client الى جهاز السيرفر.
دالة get_$ و post_$ كما ذكرنا تقومان بارسال المعلومات عبر المتصفح الى السيرفر ولكن توجد فروقات بين get_$ و post_$
دالة [ ]get_$
تسخدم دالة get_$ لارسال المعلومات من جهاز المستخدم الى السيرفر لاجراء العمليات المطلوبة مثل تخزين بياناته وغيره.
هذه الدالة لا تستخدم أبدا في ارسال البيانات الحساسة مثل بيانات تسجيل مستخدم جديد وفيها تسجيل كلمة سر أو تسجيل الدخول لانها تقوم بعرض المعلومات في الرابط المرسل URL وتظهر البيانات المرسلة في رابط المتصفح.تقوم الدالة [ ]get_$ بعملية ترميز المعلومات قبل ارسالها يتم الفصل بين المعلومات المرسلة باستخدام الفاصلة ؟.
مميزات الدالة [ ]get_$
- المعلومات المرسلة عبر الدالة [ ]get_$ تظهر في مربع المتصفح .
- الدالة [ ]get_$ مقيد بارسال كاقصى حد 1024 رمز فقط.
- الدالة [ ]get_$ لا تقوم باخفاء المعلومات المرسلة مثل كلمة السر فيجب عدم استخدامها في الارسال كلمات السر,
- الدالة [ ]get_$ لا يمكن ارسال الصور او الملفات او البيانات الثنائية.
- الدالة [ ]get_$ المعلومات المرسلة عبرها يمكن الوصل اليها باستخدام المتغير query_string.
- الدالة [ ]get_$ مدعومة من قبل لغة البي اتش بي بمصفوفة مساعدة لارسال البيانات عبرها.
مثال على [ ]get_$
<?php
if( $_GET["name"] || $_GET["age"] )
{
echo "Welcome ". $_GET['name']. "<br />";
echo "You are ". $_GET['age']. " years old.";
exit();
}
?>
<html>
<body>
<form action="<?php $_PHP_SELF ?>" method="GET">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
الدالة [ ]post_$
تقوم الدالة [ ]post_$ بارسال المعلومات من خلال البرتوكول http في جزء الراس Header وايضا يتم عملية ترميزالمعلومات مثل الدالة [ ]get_$ قبل ارسال المعلومات ويتم الوصل للبيانات [ ]post_$ عن طريق النتغير query_string
مزايا الدالة [ ]post_$
- لا يوجد اي قيود على حجم البيانات المرسلة بواسطة الدالة [ ]post_$
- يمكن استخدام [ ]post_$ لارسال الحروف asii وكذلك البيانات الثنائية كالصور والملفات
- يمكن ارسال البيانات الامنة او السرية عبر [ ]post_$ باستخدام بالرتوكول الامن https
- يمكن استخدام مصفوفة مساعدة لتمرير القيم عبر الدالة [ ]post_$
مثال على الدالة [ ]post_$
<?php
if( $_POST["name"] || $_POST["age"] )
{
echo "Welcome ". $_POST['name']. "<br />";
echo "You are ". $_POST['age']. " years old.";
exit();
}
?>
<html>
<body>
<form action="<?php $_PHP_SELF ?>" method="POST">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
متغير $_REQUEST
المتغير $_REQUEST يحتوي على محتويات الدوال [ ]post_$ و [ ]get_$ و $_COOKIE سوف نناقش $_COOKIE لاحقا.كما يستخدم $_REQUEST للوصول للبيانات المرسلة عبر [ ]post_$ و [ ]get_$ في النماذج.
مثال على المتغير
<?php
if( $_REQUEST["name"] || $_REQUEST["age"] )
{
echo "Welcome ". $_REQUEST['name']. "<br />";
echo "You are ". $_REQUEST['age']. " years old.";
exit();
}
?>
<html>
<body>
<form action="<?php $_PHP_SELF ?>" method="POST">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
<body>
<form action="<?php $_PHP_SELF ?>" method="POST">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
استدعاء المتغيرات في نفس الدالة عن طريق المتغير $_PHP_SELF
Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO Expert ,PHP,C#,ASPX,SQL
التسميات: PHP بي اتش بي تعلم دروس حتى الاحتراف
<< الصفحة الرئيسية