php نقل البيانات عبر الإستمارة

php إنشاء الإستمارة

آخر تحيين: 09-01-2015

php معالجة و حماية البيانات php نقل البيانات عبر عنوان الويب


لإنشاء استمارة html نستخدم الوسم <form>

<form action="" method="">
    <!-- البيانات -->
</form>

بمجرد ملأ الاستمارة ، يقوم الزائر بالنقر على خانة "موافق" لإرسالها . و لمن سيرسلها يا ترى ؟ بطبيعة الحال سيرسلها إلى صفحة php التي ستستقبل هذه البيانات . و هنا تتجلى العلاقة الوطيدة التي تجمع اللغتين . فhtml تمكننا من جمع البيانات في استمارة ثم إرسالها ، بينما تقوم لغة php بالتأكد من صحة هذه البيانات ثم المصادقة عليها .

في وسم form نجد صفتين هامتين و هما action و method :

  • method : تعني "الطريقة " : أي طريقة إرسال البيانات . توجد عدة طرق و اللتان تهمنا هما GET و POST
    • GET : تعمل بنفس الطريقة التي شاهدناها في الدرس السابق . جميع البيانات ستظهر واضحة في عنوان الويب ، رغم استعمالنا استمارة لإرسالها ، فهذا لا يعني أنه بإمكانكم إرسال النصوص التي تريدون ، فعدد مكونات النص (من حروف و أرقام ...) المرسلة عبر عنوان URL لا يجب أن يتجاوز 1024 مكونا . و قد يزيد أو يقل هذا العدد لدى بعض المتصفحين ، حيث لا يسمح إلا ب 255 حرفا . كما ،أنه لا يسمح لكم إرسال ملفات ، كالصور و الفيديو ...إلخ.
      مثال الإستعمال :
      <form action="" method="get">
          <!-- البيانات -->
      </form>

      لاستقبال هذه البيانات و التأكد من وجودها و صحتها يجب أن تتبعوا نفس الطريقة السابقة . و ذلك باستعمال ()isset للتأكد من وجود البيانات ، و (int) لحماية البيانات الرقمية ، ثم ()htmlspecialchars فيما يتعلق بالبيانات النصية
    • POST : الطريقة التي تهمنا ، و التي ستستعملونها غالبا ، في 99% من الحالات . هذه الطريقة جد مرنة و ليست مقيدة كسابقتها GET . بل تتيح لنا بالإضافة إلى النصوص ، إرسال جميع أنواع الملفات : كالفيديو و الصور و ملفات word , excel, pdf ... إلخ
      بياناتنا لا تظهر للزائر العادي . لكن هذا لا يعني بأن استمارتكم محمية . فجميع شيفرات لغة html ، يمكن لأي كان رؤيتها و تبديلها مع سبق الإصرار و الترصد . كما قلت سابقا ، لا يجب البتة ،الثقة بما يرسله الزائر . سنرى كيف سنستقبل هذه البيانات و حمايتها .
  • action : تؤدي نفس الدور كصفة src في وسم <img> و صفة href في وسم <a> . أي أن قيمتها عبارة عن رابط ، يدل الإستمارة على صفحة php التي سنرسل إليها البيانات .
    سنسمي هذه الصفحة validate.php على سبيل المثال ،
    <form action="http://www.yourwebsite.com/validate.php" method="POST">
        <!-- البيانات -->
    </form>

    سيكون دور صفحة validate.php هو استقبال و جمع البيانات القادمة من الإستمارة ، ثم فحصها و التأكد من صحتها أو صلاحيتها ، ثم إجراء العمليات عليها :
    ـ إما عرضها على المتصفح مباشرة كما في استمارات مواقع الدردشة أو إضافة التعاليق . و هذا مايهمنا حاليا .
    ـ أو يتم تخزينها للإستعمالات اللاحقة ، كتخزين معلومات العضو أثناء قدومه على التسجيل في موقع ما . سنرى هذا في الجزء المتعلق بقاعدة البيانات .

استقبال البيانات POST_$

قبل البدء ، أدعوكم لإنشاء صفحتين : form.php التي ستحتوي على الإستمارة ، يمكنكم تسميتها كما شئتم .
. و صفحة validate.php التي ستقوم باستقبال و معالجة البيانات القادمة من الإستمارة ، يمكنكم أيضا تسميتها كما شئتم .

form.php

لنرى استمارة بسيطة ، تتكون من خانتين : خانة اسم العضو ، و خانة البريد الإلكتروني .

<form action="validate.php" method="post">
    <label> اسم العضو : </label><input type="text" name="pseudo">
    <label> البريد الإلكتروني : </label><input type="text" name="email">

    <input type="submit" value="إرسال">
</form>

validate.php

<?php
   echo 'هنا سيتم استقبال و التأكد من صحة البيانات القادمة من الإستمارة';
?>

ستكون لدينا صفحتان :



لاستقبال بيانات الإستمارة نستعمل متغير الجدول $_POST . و نعطي هذا المتغير مفاتيح والتي هي قيم الصفة name الموجودة في الإستمارة . مثلا لاستخلاص اسم العضو ، أي الخانة الأولى من استمارتنا ، نأخذ قيمة الصفة name و التي هي pseudo في مثالنا ، و نستعملها كمفتاح ل $_POST في صفحة validate.php

<?php echo $_POST['pseudo'];?>



لدينا صفحتان جاهزتان ، في صفحة validate.php ضعوا الشيفرة التالية لاستقبال بياناتكم .

<?php 
  echo 'اسمك هو :'.
          $_POST['pseudo'].'<br>
        و بريدك الإلكتروني هو : '.
         $_POST['email'];  
?>

قم بإظهار صفحة form.php على متصفحك ، ثم قم بملأ استمارتك و انقر على زر إرسال ، و استمتع بنتيجة عملك . لقد تمكنت من ارسال و استقبال البيانات عبر الإستمارة

خلاصة :
  • قمنا بإنشاء استمارة html في صفحة form.php
  • أضفنا صفتين في الوسم <form> :
    action : و قيمتها تدلنا على الصفحة التي ستستقبل البيانات
    method : و تمثل طريقة إرسال البيانات get أو post
  • ثم أنشأنا صفحة validate.php التي ستقوم باستقبال و معالجة البيانات
  • و أخيرا استخدمنا echo و متغير الجدول النصي POST_$ لعرض البيانات

صفحة form.php و validate.php هي أسماء افتراضية فقط ، يمكنكم تسمية صفحاتكم كما يحلو لكم