English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل PHP الأساسي

دليل PHP المتقدم

PHP & MySQL

دليل PHP

GET و POST في PHP

في هذا الدرس، ستتعلم كيفية إرسال المعلومات إلى الخادم باستخدام طرق HTTP GET وPOST وكيفية استقبال المعلومات باستخدام PHP.

طرق إرسال المعلومات إلى الخادم

يستخدم متصفح الويب عادة طريقة من طريقتي HTTP (بروتوكول نقل النصوص العنكبوتي) (GET وPOST) للتواصل مع الخادم. كل طريقة يختلفان في طريقة نقل المعلومات ويكونان لهما مزايا وعيوب مختلفة، كما هو موضح أدناه.

طريقة GET

في طريقة GET، يتم إرسال البيانات كمعاملات URL، عادة ما تكون سلسلة من أزواج الأسماء والقيم المفصولة بـ "&". عادة، تكون URL التي تحتوي على بيانات GET مثل التالية:

http://www.example.com/action.php?name=john&age=24

جزء العريض في URL هو معامل GET، والجزء المائل هو قيمة هذا المعامل. يمكن إدراج عدة معاملات=قيم عبر ربطها بـ &. يمكن إرسال بيانات نصية بسيطة فقط عبر طريقة GET.

مزايا وعيوب استخدام طريقة GET

  • بسبب أن البيانات التي يتم إرسالها باستخدام طريقة GET تظهر في URL، يمكن استخدام قيم سلسلة الاستعلام المحددة لتسجيل وسم صفحة.

  • ليس من المستحسن استخدام طريقة GET لتحويل معلومات حساسة مثل اسم المستخدم وكلمة المرور، لأن هذه المعلومات مرئية بشكل كامل في سلسلة الاستعلام URL، وقد تكون مخزنة كذلك في ذاكرة التخزين المؤقت لمتصفح المستخدم.

  • بسبب أن طريقة GET توزع البيانات على متغيرات بيئة الخادم، فإن طول URL محدود. لذلك، هناك حد لكمية البيانات التي يمكن إرسالها.

PHP يقدم المتغيرات العالمية الكبرى $_GET لاستقبال جميع المعلومات المرسلة عبر URL أو باستخدام طريقة "GET" عبر نموذج HTML.

!DOCTYPE html
<html>
<head>
    <title>مثال على استخدام طريقة GET PHP</title>
</head>
<?php
if(isset($_GET[\"name\"])){
    echo \
}
?>
<form method="get" action="<?php echo $_SERVER[\"PHP_SELF\"];?>">
    <label for="inputName">اسم:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="Submit">
</form>

طريقة POST

في طريقة POST، يتم إرسال البيانات مع سكربت المعالجة في اتصال منفرد إلى الخادم. البيانات المرسلة عبر طريقة POST غير مرئية في URL.

مزايا وعيوب استخدام طريقة POST

  • انه أكثر أمانًا لأن معلومات إدخال المستخدم لا تظهر أبدًا في سلسلة الاستعلام أو سجلات الخادم.

  • يوجد تحديد أكبر للكمية التي يمكن نقلها، ويمكن إرسال بيانات نصية وكذلك بيانات ثنائية (تحميل ملفات).

  • بسبب أن البيانات المرسلة عبر طريقة POST غير مرئية في URL، لذلك لا يمكن استخدام استعلام محدد لإنشاء وسم للصفحة.

مثل $_GET، يقدم PHP متغير عالمي كبرى آخر $_POST لاستقبال جميع المعلومات المرسلة عبر طريقة POST أو باستخدام method="POST" عبر نموذج HTML.

!DOCTYPE html
<html>
<head>
    <title>مثال علىpline PHP باستخدام طريقة POST</title>
</head>
<?php
if(isset($_POST["name"])){
    echo "<p>مرحبًا، " . $_POST["name"] . "</p>";
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for="inputName">اسم:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="Submit">
</form>

متغير $_REQUEST

يقدم PHP متغير عالمي كبرى آخر $_REQUEST، يحتوي على قيم متغيرات $_GET و $_POST بالإضافة إلى قيمة المتغير العالمي الكبرى $_COOKIE.

!DOCTYPE html
<html>
<head>
    <title>مثال علىpline PHP لـ $_REQUEST متغير</title>
</head>
<?php
if(isset($_REQUEST["name"])){
    echo "<p>مرحبًا، " . $_REQUEST["name"] . "</p>";
}
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
    <label for="inputName">اسم:</label>
    <input type="text" name="name" id="inputName">
    <input type="submit" value="Submit">
</form>

ستتعرف في الجزء المتقدم على PHP الكوكيومعالجة النموذجالمزيد من المعلومات.

ملاحظة:المتغيرات العالمية الكبرى $_GET،$_POST و $_REQUEST مدمجة، متاحة في جميع نطاقات التشغيل للسكربت.