الثلاثاء، 21 يناير 2014

أساسيات البرمجة برمجة المواقع بي اتش بي دالة $ PHP GET and POST Methods

دالة $ 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_$

  1. المعلومات المرسلة عبر الدالة [ ]get_$ تظهر في مربع المتصفح .
  2. الدالة [ ]get_$ مقيد بارسال كاقصى حد 1024 رمز فقط.
  3. الدالة [ ]get_$ لا تقوم باخفاء المعلومات المرسلة مثل كلمة السر فيجب عدم استخدامها في الارسال كلمات السر,
  4. الدالة [ ]get_$ لا يمكن ارسال الصور او الملفات او البيانات الثنائية.
  5. الدالة [ ]get_$ المعلومات المرسلة عبرها يمكن الوصل اليها باستخدام المتغير query_string.
  6. الدالة [ ]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_$

  1. لا يوجد اي قيود على حجم البيانات المرسلة بواسطة الدالة [ ]post_$
  2. يمكن استخدام [ ]post_$ لارسال الحروف asii وكذلك البيانات الثنائية كالصور والملفات
  3. يمكن ارسال البيانات الامنة او السرية عبر [ ]post_$ باستخدام بالرتوكول الامن https
  4. يمكن استخدام مصفوفة مساعدة لتمرير القيم عبر الدالة  [ ]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




التسميات: