يتم استخدام المتغيرات $_GET و $_POST في PHP لاسترداد المعلومات من نموذج، مثل إدخال المستخدم.
أحد الأشياء المهمة التي يجب ملاحظتها هو أنه عند معالجة نماذج HTML، يمكن لـ PHP أن تجعل عناصر النموذج من صفحة HTML متاحة تلقائيًا لبرامج PHP النصية.
يحتوي المثال أدناه على نموذج HTML مع حقلي إدخال وزر إرسال.
<html><head><metacharset="utf-8"><title>شبكة التعليمات البرمجية المصدر (downcodes.com)</title></head><body> <formaction="welcome.php"method="post" > الاسم: <inputtype="text"name="fname">العمر: <inputtype="text"name="age"><inputtype="submit"value="submit"></form> </body>< / أتش تي أم أل>
عندما يقوم المستخدم بملء النموذج أعلاه والنقر على زر الإرسال، سيتم إرسال بيانات النموذج إلى ملف PHP يسمى "welcome.php":
مرحبًا<?phpecho$_POST["fname"]; ?>!<br>عمرك <?phpecho$_POST["age"] ?> سنة.
سنشرح المتغيرات $_GET و $_POST في PHP في الفصل التالي.
في المثال التالي، قمنا بتعيين ثلاثة خيارات للقائمة المنسدلة. يستخدم النموذج طريقة GET للحصول على البيانات. إذا كانت قيمة سمة الإجراء فارغة، فهذا يعني أنه تم إرسالها إلى البرنامج النصي الحالي القائمة المنسدلة من خلال سمة الاسم لتحديد:
<?php$q= isset($_GET['q'])? htmlspecialchars($_GET['q']): '';if($q){ if($q=='CODERCTO'){ صدى' شبكة كود المصدر<br>http://www.downcodes.com'; }elseif($q=='GOOGLE'){ echo'Google search<br>http://www.google.com'; }elseif($q=='TAOBAO'){ echo'Taobao<br>http://www.taobao.com' }}else{?><formaction=""method="get"> <selectname="; q"> <optionvalue="">اختر موقعًا:</option> <optionvalue="CODERCTO">codercto</option> <optionvalue="GOOGLE">Google</option> <optionvalue="TAOBAO">تاوباو</option> </select> <inputtype="submit"value="submit"> </form><?php}?>
إذا كانت القائمة المنسدلة متعددة التحديد (متعددة = "متعددة")، فيمكننا الحصول عليها عن طريق تعيين اسم التحديد = "q[]" كمصفوفة، وإرسالها باستخدام الكود POST كما يلي:
<?php$q= isset($_POST['q'])? $_POST['q']: '';if(is_array($q)){ $sites= array( 'CODERCTO'=> 'كود المصدر الشبكة: http://www.downcodes.com', 'GOOGLE'=> 'بحث Google: http://www.google.com', 'TAOBAO'=> 'تاوباو: http://www.taobao.com', ); foreach($qas$val){ //PHP_EOL ثابت يستخدم لفواصل الأسطر echo$sites[$val]. =" "method="post"> <selectmultiple="multiple"name="q[]"> <optionvalue="">حدد موقعًا:</option> <optionvalue="CODERCTO">codercto</option> <optionvalue="GOOGLE">Google</option> <optionvalue="TAOBAO">تاوباو</option> </select> <inputtype="submit"value="Submit"> </form><?php}?>
تكون قيم سمة الاسم في نموذج زر الاختيار PHP متسقة، لكن قيم القيمة مختلفة، ويكون الرمز كما يلي:
<?php$q= isset($_GET['q'])? htmlspecialchars($_GET['q']): '';if($q){ if($q=='CODERCTO'){ صدى' شبكة كود المصدر<br>http://www.downcodes.com' }elseif($q=='GOOGLE'){ echo'Google search<br>http://www.google.com'; }elseif($q=='TAOBAO'){ echo'Taobao<br>http://www.taobao.com' }}else{?><formaction=""method="get"> <inputtype=" radio"name="q"value="CODERCTO"/>codercto <inputtype="radio"name="q"value="GOOGLE"/>Google <inputtype="radio"name="q"value="TAOBAO"/>تاوباو <inputtype="submit"value="submit"></form><?php}?>
يمكن لمربع اختيار PHP تحديد قيم متعددة:
<?php$q= isset($_POST['q'])? $_POST['q']: '';if(is_array($q)){ $sites= array( 'CODERCTO'=> 'كود المصدر الشبكة: http://www.downcodes.com', 'GOOGLE'=> 'بحث Google: http://www.google.com', 'TAOBAO'=> 'تاوباو: http://www.taobao.com', ); foreach($qas$val){ //PHP_EOL ثابت يستخدم لفواصل الأسطر echo$sites[$val]. =" "method="post"> <inputtype="checkbox"name="q[]"value="CODERCTO">كوديركتو<br> <inputtype="checkbox"name="q[]"value="GOOGLE">Google<br> <inputtype="checkbox"name="q[]"value="TAOBAO">تاوباو<br> <inputtype=" إرسال"value="submit"></form><?php}?>
يجب علينا التحقق من صحة إدخال المستخدم كلما أمكن ذلك (عبر البرامج النصية من جانب العميل). يعد التحقق من صحة المتصفح أسرع ويخفف الضغط على الخادم.
إذا كانت هناك حاجة لإدراج إدخال المستخدم في قاعدة بيانات، فيجب عليك التفكير في استخدام التحقق من صحة الخادم. إحدى الطرق الجيدة للتحقق من صحة النموذج على الخادم هي تمرير بيانات النموذج إلى الصفحة الحالية (الإرسال غير المتزامن أفضل)، بدلاً من الانتقال إلى صفحة مختلفة. بهذه الطريقة يمكن للمستخدمين الحصول على رسائل خطأ على نفس صفحة النموذج. سيكون من الأسهل على المستخدمين العثور على الأخطاء.