نموذج تسجيل PHP باستخدام طرق GET وPOST مع مثال

ما هو النموذج؟

عندما تقوم بتسجيل الدخول إلى موقع ويب أو إلى حسابك mail box، أنت تتفاعل مع نموذج.

تُستخدم النماذج للحصول على مدخلات من المستخدم وإرسالها إلى خادم الويب للمعالجة.

يوضح الرسم البياني أدناه عملية معالجة النموذج.

نموذج PHP

النموذج هو علامة HTML تحتوي على عناصر واجهة المستخدم الرسومية مثل الإدخال box، التحقق من boxأزرار الراديو وما إلى ذلك.

يتم تعريف النموذج باستخدام … يتم تعريف العلامات وعناصر واجهة المستخدم الرسومية باستخدام عناصر النموذج مثل الإدخال.

متى ولماذا نستخدم النماذج؟

  • تكون النماذج مفيدة عند تطوير تطبيقات مرنة وديناميكية تقبل مدخلات المستخدم.
  • يمكن استخدام النماذج لتحرير البيانات الموجودة بالفعل من قاعدة البيانات

قم بإنشاء نموذج

سوف نستخدم علامات HTML لإنشاء نموذج. فيما يلي قائمة الحد الأدنى من الأشياء التي تحتاجها لإنشاء نموذج.

  • فتح وإغلاق علامات النموذج …
  • نوع إرسال النموذج POST أو GET
  • عنوان URL للإرسال الذي سيقوم بمعالجة البيانات المقدمة
  • حقول الإدخال مثل الإدخال boxes، مناطق النص، الأزرار، الاختيارboxوفاق الخ

الكود أدناه ينشئ نموذج تسجيل بسيط

<html>
<head>
	<title>Registration Form</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>

    <h2>Registration Form</h2>

    <form action="registration_form.php" method="POST"> First name:

        <input type="text" name="firstname"> <br> Last name:

        <input type="text" name="lastname"> 

        <input type="hidden" name="form_submitted" value="1" />

        <input type="submit" value="Submit">

    </form>
</body>
</html>

حياةwing يعرض الكود أعلاه في متصفح الويب المتابعةwing شكل.

قم بإنشاء نموذج

هنا،

  • … هي علامات النموذج الافتتاحية والختامية
  • الإجراء =”registration_form.php” الطريقة =”POST”> يحدد عنوان URL المقصود ونوع الإرسال.
  • الاسم الأول/الأخير: عبارة عن تسميات للإدخال boxes
  • يتم الإدخال box علامات
  • هي علامة السطر الجديد
  • هي قيمة مخفية تستخدم للتحقق مما إذا كان النموذج قد تم إرساله أم لا
  • هو الزر الذي عند النقر عليه يرسل النموذج إلى الخادم للمعالجة

إرسال بيانات النموذج إلى الخادم

تحدد سمة الإجراء الخاصة بالنموذج عنوان URL للإرسال الذي يعالج البيانات. تحدد سمة الطريقة نوع الإرسال.

طريقة PHP POST

  • هذا هو متغير الصفيف الشامل المدمج في PHP والذي يُستخدم للحصول على القيم المرسلة عبر طريقة HTTP POST.
  • يمكن الوصول إلى متغير المصفوفة من أي برنامج نصي في البرنامج؛ لها نطاق عالمي.
  • تعتبر هذه الطريقة مثالية عندما لا ترغب في عرض قيم نشر النموذج في عنوان URL.
  • من الأمثلة الجيدة على استخدام طريقة النشر هو إرسال تسجيل الدخول details إلى الخادم.

لديها فولوwing بناء الجملة.

<?php
 $_POST['variable_name'];
?>

هنا،

  • "$_POST[...]" هو مصفوفة PHP
  • ""variable_name"" هو اسم متغير URL.

طريقة الحصول على PHP

  • هذا هو متغير الصفيف الشامل المدمج في PHP والذي يُستخدم للحصول على القيم المرسلة عبر طريقة HTTP GET.
  • يمكن الوصول إلى متغير المصفوفة من أي برنامج نصي في البرنامج؛ لها نطاق عالمي.
  • تعرض هذه الطريقة قيم النموذج في عنوان URL.
  • إنه مثالي لنماذج محركات البحث لأنه يسمح للمستخدمين بوضع علامة مرجعية على النتائج.

لديها فولوwing بناء الجملة.

<?php
$_GET['variable_name'];
?>

هنا،

  • "$_GET[...]" هو مصفوفة PHP
  • ""variable_name"" هو اسم متغير URL.

طرق GET مقابل POST

سأعين للحصول على
القيم غير مرئية في عنوان URL القيم مرئية في عنوان URL
لا توجد حدود لطول القيم حيث يتم إرسالها عبر نص HTTP لديه قيود على طول القيم عادة 255 حرفا. وذلك لأنه يتم عرض القيم في عنوان URL. لاحظ أن الحد الأعلى للأحرف يعتمد على المتصفح.
يتمتع بأداء أقل مقارنة بطريقة Php_GET بسبب الوقت المستغرق في تغليف قيم Php_POST في نص HTTP يتمتع بأداء عالٍ مقارنةً بطريقة POST بسبب الطبيعة البسيطة لإلحاق القيم في عنوان URL.
يدعم العديد من أنواع البيانات المختلفة مثل السلسلة والرقمية والثنائية وما إلى ذلك. يدعم أنواع بيانات السلسلة فقط لأنه يتم عرض القيم في عنوان URL
لا يمكن وضع علامة كتابية على النتائج يمكن وضع علامة كتابية على النتائج نظرًا لرؤية القيم الموجودة في عنوان URL

يوضح الرسم البياني أدناه الفرق بين get و post

طرق GET مقابل POST

طرق GET مقابل POST

معالجة بيانات استمارة التسجيل

يرسل نموذج التسجيل البيانات إلى نفسه كما هو محدد في سمة الإجراء الخاصة بالنموذج.

عند إرسال نموذج، يتم ملء القيم في المصفوفة الشاملة $_POST.

سوف نستخدم دالة PHP isset للتحقق مما إذا كانت قيم النموذج قد تم ملؤها في المصفوفة $_POST ومعالجة البيانات.

سنقوم بتعديل نموذج التسجيل ليشمل كود PHP الذي يعالج البيانات. أدناه هو الكود المعدل

<html>
<head>
	<title>Registration Form</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>
<body>

    <?php if (isset($_POST['form_submitted'])): ?> //this code is executed when the form is submitted

        <h2>Thank You <?php echo $_POST['firstname']; ?> </h2>

        <p>You have been registered as
            <?php echo $_POST['firstname'] . ' ' . $_POST['lastname']; ?>
        </p>

        <p>Go <a href="/ar/registration_form.php">back</a> to the form</p>

        <?php else: ?>

            <h2>Registration Form</h2>

            <form action="registration_form.php" method="POST">

                 First name:
                <input type="text" name="firstname">
                
                <br> Last name:
                <input type="text" name="lastname">
                
			<input type="hidden" name="form_submitted" value="1" />

                <input type="submit" value="Submit">

            </form>

      <?php endif; ? > 
</body> 
</html>

هنا،

  • يتحقق مما إذا كان قد تم ملء الحقل المخفي الذي تم تقديمه في مصفوفة $_POST[] ويعرض رسالة شكر والاسم الأول.

    إذا لم يتم ملء الحقلform_fobmited في المصفوفة $_POST[]، فسيتم عرض النموذج.

مزيد من الأمثلة

محرك بحث بسيط

سنقوم بتصميم محرك بحث بسيط يستخدم طريقة PHP_GET كنوع إرسال النموذج.

ومن أجل التبسيط، سوف نستخدم PHP إذا بيان لتحديد الإخراج.

سوف نستخدم نفس كود HTML لنموذج التسجيل أعلاه ونقوم بإجراء تعديلات طفيفة عليه.

<html>
<head>
	<title>Simple Search Engine</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>

    <?php if (isset($_GET['form_submitted'])): ?>

        <h2>Search Results For <?php echo $_GET['search_term']; ?> </h2>
        <?php if ($_GET['search_term'] == "GET"): ?>

            <p>The GET method displays its values in the URL</p>

            <?php else: ?>
            	 <p>Sorry, no matches found for your search term</p>

            <?php endif; ?>

                <p>Go <a href="/ar/search_engine.php">back</a> to the form</p>

                <?php else: ?>

                   <h2>Simple Search Engine - Type in GET </h2>

                   <form action="search_engine.php" method="GET">

                        Search Term:
                        <input type="text" name="search_term">
                        <br>
                            
			<input type="hidden" name="form_submitted" value="1" />

                       <input type="submit" value="Submit">
                       
                  </form>
               <?php endif; ?>
</body>
</html>

عرض الصفحة أعلاه في متصفح الويب

التاليwing سيتم عرض النموذج

محرك بحث بسيط

اكتب GET بالحرف الكبير ثم انقر على زر الإرسال.

التاليwing سوف تعرض

محرك بحث بسيط

يوضح الرسم البياني أدناه عنوان URL للنتائج المذكورة أعلاه

محرك بحث بسيط

لاحظ أن عنوان URL قد عرض قيمة search_term وform_submit. حاول إدخال أي شيء مختلف عن GET ثم انقر فوق زر إرسال وشاهد النتائج التي ستحصل عليها.

العمل مع الشيك boxوفاق، أزرار الاختيار

إذا لم يحدد المستخدم الشيك box أو زر الاختيار، لا يتم إرسال أي قيمة، إذا قام المستخدم بتحديد شيك box أو زر الاختيار، يتم إرسال القيمة واحد (1) أو صحيح.

سنقوم بتعديل رمز نموذج التسجيل وإدراج زر اختيار يسمح للمستخدم بالموافقة على شروط الخدمة.

<html>
<head>
	<title>Registration Form</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
    <?php if (isset($_POST['form_submitted'])): ?>
        <?php if (!isset($_POST['agree'])): ?>
            <p>You have not accepted our terms of service</p>
            <?php else: ?>
                <h2>Thank You <?php echo $_POST['firstname']; ?></h2>
                <p>You have been registered as
                    <?php echo $_POST['firstname'] . ' ' . $_POST['lastname']; ?>
                </p>
                <p> Go <a href="/ar/registration_form2.php">back</a> to the form</p>
            <?php endif; ?>
            <?php else: ?>
                        <h2>Registration Form</h2>
                        <form action="registration_form2.php" method="POST">
                            First name:
                            <input type="text" name="firstname">                           
                            <br> Last name:
                            <input type="text" name="lastname">                            
                            <br> Agree to Terms of Service:
                            <input type="checkbox" name="agree">
                            <br>
                            <input type="hidden" name="form_submitted" value="1" />
                            <input type="submit" value="Submit">
                        </form>
	<?php endif; ?>
</body>
</html>

عرض النموذج أعلاه في المتصفح

العمل مع الشيك boxes، أزرار الراديو

املأ الأسماء الأولى والأخيرة

لاحظ التحقق من الموافقة على شروط الخدمةbox لم يتم اختياره.

انقر فوق زر الإرسال

سوف تحصل على فولوwing النتائج

العمل مع الشيك boxes، أزرار الراديو

انقر مرة أخرى على رابط النموذج ثم حدد الشيكbox

العمل مع الشيك boxes، أزرار الراديو

انقر فوق زر الإرسال

سوف تحصل على فولوwing النتائج

العمل مع الشيك boxes، أزرار الراديو

نبذة عامة

  • يتم استخدام النماذج للحصول على البيانات من المستخدمين
  • يتم إنشاء النماذج باستخدام علامات HTML
  • يمكن إرسال النماذج إلى الخادم للمعالجة باستخدام طريقة POST أو GET
  • يتم تغليف قيم النموذج المرسلة عبر طريقة POST في نص HTTP.
  • يتم إلحاق قيم النموذج المرسلة عبر طريقة GET وعرضها في عنوان URL.