المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : درس مفصل عرض أخطاء المدخلات في متغير واحد



loulou ange
11-01-2013, بتوقيت غرينيتش 02:35 PM
http://www.dzbatna.com/images/icons/iconrote.gif ط¯ط±ط³ ط¹ط±ط¶ ط£ط®ط·ط§ط، ط§ظ„ظ…ط¯ط®ظ„ط§طھ ظپظٹ ظ…طھط؛ظٹط± ظˆط§ط*ط¯ (http://www.dzbatna.com/t1283692/)



بسم الله الرحمن الرحيم


السلام عليكم ورحمة الله وبركاته:


كيف حالكم حبايبي

جيتكم اليوم مع درس مفصل خفيف واتمنى ان توصلكم الفكره

كلنا بسكربتاتنا نعمل مثلاً فورم لأدخال البينات

على سبيل المثال

سنستعمل في درس مفصلنا :

ثلاث مدخلات

name

password

email

نبداً بعمل ملف html بأي أسم

وتكون محتوياته

رمز PHP:

<code style="white-space:nowrap"> <code>
<form action="do_register.php" method="post">
<table border=1>
<tr align="center">

<td>أسم المستخدم</td><td><input type="text" name="username"></td>
</tr>
<tr align="center">

<td></td><td><input type="text" name="password"></td>
</tr>
<tr align="center">

<td></td><td><input type="text" name="email"></td>
</tr>
</table>
</form>
</code> </code>

الي عملناه بالكود code البيسط هو فورم يرسل اسم المستخدم وكلمة السر والايميل

لصفحة do_register.php

أول شيئ نستقبل البينات من ال$_POST

سنستعمل دالة أخي XTReMe

حماية المدخلات

وهي
رمز PHP:

<code style="white-space:nowrap"> <code> function procode($str)
{
return htmlspecialchars(addslashes(trim(mysql_real_escape _string(strip_tags($str))));
}
</code> </code>

بعد ذالك سيكون شكله هكذا

رمز PHP:

<code style="white-space:nowrap"> <code>
<?php
/*
author: alnseha
*/

//functions
function procode($str)
{
return htmlspecialchars(addslashes(trim(mysql_real_escape _string(strip_tags($str))));
}

$username=procode($_POST&#91;'username'&#93;);
$password=procode($_POST&#91;'password'&#93;);
$email=procode($_POST&#91;'email'&#93;);






//end
?> </code> </code>

الخطوه الثانيه نأكتب $errors

نعطيه قيمة مصفوفه

بعد ذالك نبداً بتحليل المتغيرات

الأول وهو أسم المستخدم :username

نتأكد مثلاً اذا كانت حروف اسم المستخدم أكثر من 15 او اقل من 4

رمز PHP:

<code style="white-space:nowrap"> <code>
if(strlen($username) > 4 or strlen($username) >= 15 ){
$errors&#91;&#93;="عدد حروف اسم المستخدم يجب ان تكون بين 4 و 15";
}
</code> </code>

الأن نتأكد اذا كان فارغ
رمز PHP:

<code style="white-space:nowrap"> <code>
if($username ==''){

$errors&#91;&#93;="اسم المستخدم فارغ";
}
</code> </code>

تقدر ايضاً تستعملها بأشياء كثير لكن نحن هنا على سبيل المثال

الأن حقل الباسوورد:password

نتأكد منه بنفس أسم المستخدم:

رمز PHP:

<code style="white-space:nowrap"> <code>
if(strlen($password) > 4 or strlen($password) >= 15 ){
$errors&#91;&#93;="عدد حروف كلمة المرور يجب ان تكون بين 4 و 15";
}
</code> </code>

الأن نتأكد اذا كان فارغ
رمز PHP:

<code style="white-space:nowrap"> <code>
if($$password ==''){

$errors&#91;&#93;="اسم المستخدم فارغ";
}
</code> </code>


الأن وقت التأكد من الأيميل وسنستعمل التعابير القياسية للتأكد من صحة

الايميل :

راح تكون بدالة هي كالتالي:
رمز PHP:

<code style="white-space:nowrap"> <code> function vaild_email($email){
return preg_match('#^&#91;a-z0-9.!\#$%&\'*+-/=?^_`{|}~&#93;+@(&#91;0-9.&#93;+|(&#91;^\s\'"<>&#93;+\.+&#91;a-z&#93;{2,6}))$#si', $email);
}
</code> </code>

الأن أستعمال الدالة :كالتالي.

رمز PHP:

<code style="white-space:nowrap"> <code>
if(vaild_email($email)){

$errors&#91;&#93;="الأيميل خاطئ";
}
</code> </code>

الأن نتأكد اذا كان فارغ
رمز PHP:

<code style="white-space:nowrap"> <code>
if($email ==''){
$errors&#91;&#93;="الأيميل فارغ";
}
</code> </code>



أخر شي نطلع الأخطاء: عن طريق foreach

كالتالي:


رمز PHP:

<code style="white-space:nowrap"> <code>
//اذا كان في اخطاء
if(is_array($errors)){

//اعمل استخراج للأخطاء
foreach($errors as $k=>$v){

echo "للأسف طلعت عندك الأخطاء التالي:".$v."<br>";
// اخرج لا تعمل استعلام الأدخال
exit();
}
}
//اخر شي تعمل استعمال الأدخال اذا غير ذالك
$insert=@ mysql_query("insert sql",$connection);
</code> </code>


والكود code كاملاً

من هنا

رمز PHP:

<code style="white-space:nowrap"> <code> <?php
/*
author: alnseha
*/

//functions
function procode($str)
{
return htmlspecialchars(addslashes(trim(mysql_real_escape _string(strip_tags($str))));
}

$username=procode($_POST&#91;'username'&#93;);
$password=procode($_POST&#91;'password'&#93;);
$email=procode($_POST&#91;'email'&#93;);

//array
$errors=array();
//username faild
if(strlen($username) > 4 or strlen($username) >= 15 ){
$errors&#91;&#93;="عدد حروف اسم المستخدم يجب ان تكون بين 4 و 15";
}
if($username ==''){

$errors&#91;&#93;="اسم المستخدم فارغ";
}
//vaild_email
function vaild_email($email){
return preg_match('#^&#91;a-z0-9.!\#$%&\'*+-/=?^_`{|}~&#93;+@(&#91;0-9.&#93;+|(&#91;^\s\'"<>&#93;+\.+&#91;a-z&#93;{2,6}))$#si', $email);
}
if(vaild_email($email)){

$errors&#91;&#93;="الأيميل خاطئ";
}

if($email ==''){
$errors&#91;&#93;="الأيميل فارغ";

}

//اذا كان في اخطاء
if(is_array($errors)){

//اعمل استخراج للأخطاء
foreach($errors as $k=>$v){

echo "للأسف طلعت عندك الأخطاء التالي:".$v."<br>";
// اخرج لا تعمل استعلام الأدخال
exit();
}
}
//اخر شي تعمل استعمال الأدخال اذا غير ذالك
$insert=@ mysql_query("insert sql",$connection);
//end
?> </code> </code>

اتمنى اذا في اي اخطاء تصحيحها http://www.dzbatna.com/images/smilies/bigsmile.gif

واتمتى لا تعملوا من موضوعي هذا نقاشات

مثال الموضوع السابق انتم تعرفونه وكل الشكر واسف جداً

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








ألعاب الأندرويد مجانا و حصريا (http://www.apotox.info/forum)




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى