السلام عليكم ورحمة الله وبركاتة
أولاً / أسأل الله أن تكونو جميعاً بـ خير .
ثانياً / هذا شرح طريقة خاص بـ معهد ديزاد باتنة
إن شاء الله بشرح طريقة لكم طريقة عمل كود code التحقق أو مايُدعى بالـ [Captcha] بكل بساطه إن شاء الله .
هُنالك ثلاثة أشياء يجب علينا عملها كي نُنشئ كود code التحقق الخاص بنا ! .
- دالة Rand
- دالة Substr
- if , else
- دوال التعامل مع الصور
- الجلسات
الأن نبدأ على بركة الله الدرس مفصل .
اول شئ سنقوم بعمل ملف الـ Captcha و سنسمية بـ Captcha.php و الان سنبدأ بكتابة محتواه .
و سنكتب بداخله تلك الاكواد
رمز PHP:
<code style="white-space:nowrap"> <code> <?
session_start();
$rand_num = rand(1000000,9999999);
$rand_new = substr($rand_num,0,5);
$img = imagecreate(50, 20);
$img_color = imagecolorallocate($img, 255, 255, 255);
$textcolor = imagecolorallocate($img, 00, 000, 000);
imagestring($img, 10, 0, 0, $rand_new, $textcolor);
header("Content-type: image/jpeg");
imagejpeg($img);
$_SESSION['cap_sess'] = $rand_new;
?> </code> </code>
الأن سنشرح طريقة الاكواد السابقة معاً

اول شئ قمنا بإنشاء جلسه لنحفظ بها القيم
رمز PHP:
<code style="white-space:nowrap"> <code> session_start();
</code> </code>
بعد ذالك قمنا بإنشاء ارقام عشوائيه بين الـ 1000000 و 9999999 و قمنا بإستخدام الدالة substr و اسندنا إليها الرقم 5 لجلب خمس أرقام عشوائية فقط !
رمز PHP:
<code style="white-space:nowrap"> <code> $rand_num = rand(1000000,9999999);
$rand_new = substr($rand_num,0,5);
</code> </code>
بعد ذلك قمنا بإنشاء صورة و وضعنا لها الخلفيه اللون الأبيض
رمز PHP:
<code style="white-space:nowrap"> <code> $img = imagecreate(50, 20);
$img_color = imagecolorallocate($img, 255, 255, 255);
</code> </code>
بعد ذلك سنقوم بتحديد لون الكتابة على الصوره و هُنا إخترنا اللون الأسود .
رمز PHP:
<code style="white-space:nowrap"> <code> $textcolor = imagecolorallocate($img, 00, 000, 000);
</code> </code>
و بعد ذلك قُمنا بكتابة النص العشوائي على الصوره و إخراج الصوره .
رمز PHP:
<code style="white-space:nowrap"> <code> imagestring($img, 10, 0, 0, $rand_new, $textcolor);
header("Content-type: image/jpeg");
imagejpeg($img);
</code> </code>
أخر شئ فى هذا الملف بأننا قمنا بحفظ الجلسه بإسم cap_sess عن طريق السطر التالي
رمز PHP:
<code style="white-space:nowrap"> <code> $_SESSION['cap_sess'] = $rand_new;
</code> </code>
الأن انتهينا من شرح طريقة ملف الـ Captcha.php سننتقل الان لملف الـ index.html
و ظيفة ملف index.html هو أننا سنقوم بإستعراض صورة التحقق + زر لإرسال كود code التحقق ، و هذا هو كود code الملف كاملاً .
رمز PHP:
<code style="white-space:nowrap"> <code> <form method="POST" action="Captcha_do.php">
<p align="center"><img src="Captcha.php" /> </p>
<p align="center"><input name="Cap" type="text" /></p>
<p align="center"><input type="submit" value="Send" name="A"></p>
</code> </code>
فى البداية قمنا بعمل أكشن يقوم بإرسال القيم إلى الملف Captcha_do.php ليتم التحقق من صحة كود code التحقق .
رمز PHP:
<code style="white-space:nowrap"> <code> <form method="POST" action="Captcha_do.php">
</code> </code>
و بعد ذلك قُمنا بعمل صورة و جعلنا قيمتها مسار الملف Captcah.php ليتم جعل محتوى الصوره كود code التحقق الخاص بنا .
رمز PHP:
<code style="white-space:nowrap"> <code> <p align="center"><img src="Captcha.php" /> </p>
</code> </code>
بعد ذلك قمنا بعمل حقل لكتابة كود code التحقق . و أعطيناه الإسم .Cap
رمز PHP:
<code style="white-space:nowrap"> <code> <p align="center"><input name="Cap" type="text" /></p>
</code> </code>
و أخر شئ فى هذا الملف هو زر إرسال القيم .
رمز PHP:
<code style="white-space:nowrap"> <code> <p align="center"><input type="submit" value="Send" name="A"></p>
</code> </code>
الأن إنتهينا من ملف الـ index.html و ملف الـ Captcha.php ، الأن سنبدأ شرح طريقة أخر ملف لدينا و هو ملف الـ Captcha_do.php ووظيفته التحقق من صحة كود code التحقق الذي تم إدخالة بواسطة المُستخدم .
سننشئ ملف Catpcha_do.php و نضع محتواه الأتي .
رمز PHP:
<code style="white-space:nowrap"> <code>
<?
session_start();
if ($_POST['Cap'] == "" ){
echo "<center>";
echo "لقد تركت حقل كود code التحقق فارغ ، يرجى التأكد منه .";
}
else {
if ($_POST['Cap'] == $_SESSION['cap_sess']
{
echo "<center>";
echo "كود code التحقق الذي أدخلته صحيح ! . ";
}
else {
echo "<center>";
echo "عفواً ، كود code التحقق الذي تمت كتابته غير صحيح ، يُرجى المُحاولة مُجدداً ! .";
}
}
?> </code> </code>
الان سنشرح طريقة أكواد هذا الملف
اول شئ قمنا بإنشاء جلسه لجلب القيم المحفوظه سابقاً .
رمز PHP:
<code style="white-space:nowrap"> <code> session_start();
</code> </code>
و بعد ذلك قمنا بعمل شرط بسيط لمعرفة هل تم ترك حقل كود code التحقق فارغ أم لا ، و إذا لم يكن فارغاً سيتم إكمال العمليه و الذهاب للخطوه التاليه .
رمز PHP:
<code style="white-space:nowrap"> <code> if ($_POST['Cap'] == "" ){
echo "<center>";
echo "لقد تركت حقل كود code التحقق فارغ ، يرجى التأكد منه .";
}
else {
</code> </code>
و بعد ذلك لو لم يكن تم ترك حقل كود code التحقق فارغاً سيتم التحقق إذا كان قيمة حقل كود code التحقق = قيمة كود code التحقق الموجوده فى الصوره ، و سيتم طباعه جمله لمعرفة هل الكود code المُدخل صحيح أم لا .
رمز PHP:
<code style="white-space:nowrap"> <code>
if ($_POST['Cap'] == $_SESSION['cap_sess']
{
echo "<center>";
echo "كود code التحقق الذي أدخلته صحيح ! . ";
}
else {
echo "<center>";
echo "عفواً ، كود code التحقق الذي تمت كتابته غير صحيح ، يُرجى المُحاولة مُجدداً ! .";
}
}
</code> </code>
و بهذا نكون قد أنهينا شرح طريقةنا ، أتمنى من الله ان اكون قد وفقت فى طرحي و قد افدتكم . و إن شاء الله سيتم عمل درس مفصل قادم ايضاً سيكون للـ Captcha و لكن سيكون بشكل جديد إن شاء الله .
المثال مُرفق كل ما عليك هو إستعراضه و تجربته فقط ! .
الشرح طريقة خاص و حصري لـ ديزاد باتنة بواسطه : أحمد صلاح الدين .
دعواتكم
