اذهب إلى المحتوى
  • 0

كيفية حماية مدخلات الفورم في (php-html)

Hamada Ahmed

السؤال

السلام عليكم

لدي فورم بسيط يحوي ادخال الاسم والموبايل والايميل

كيف يمكن عدم ادخال الا الحروف فى حقل الاسم وارقام فقط فى حقل الفون وعدم ادخال اي صيغة اخرى غير الايميل فى خانة الايميل

ولكم جزيل الشكر

<?PHP
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$db = mysql_connect('localhost', 'root', '', 'info');
$query = "insert into user values('".$name."','".$phone."','".$email."')";
$insert =$db->query($query);
?>
<form method="post" action="">
<p><input name="name" type="text"></p>
<p><input name="phone" type="text"></p>
<p><input name="email" type="text"></p>  
<p><input type="submit"></p>       
</form>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

أول شيء إصدارات PHP أوقفت التعامل مع mysql و استبدلتها ب mysqli أو PDO.

هناك عدة دوال لحماية المدخلات ومنها 

  • mysql_real_escape_string: تقوم بحماية المدخلات المضافة إلى قاعدة البيانات.
  • strip_tags: تمنع إضافة أكواد HTML , PHP داخل قاعدة البيانات.
  • htmlspecialchars: يمكنك مراجعة توثيق موسوعة حسوب بالدالة لفهمها أكثر من هنا

$name = strip_tags($_POST['name']);
$name = htmlspecialchars($_POST['name']);
$name = mysql_real_escape_string($_POST['name']);

ويمكن صنع دالة حماية واستخدامها مع كل مدخل مثل

function filterThis($string) {
    return mysql_real_escape_string($string);
}

function filterThis($string) {
    return strip_tags($string);
}

function filterThis($string) {
    return htmlspecialchars($string);
}

فلو أردنا تطبيق هذه الدوال على الكود الخاص بك يصبح هكذا 

<?PHP
$name = strip_tags($_POST['name']);
$phone = strip_tags($_POST['phone']);
$email = strip_tags($_POST['email']);
$db = mysql_connect('localhost', 'root', '', 'info');
$query = "insert into user values('".$name."','".$phone."','".$email."')";
$insert =$db->query($query);
?>
<form method="post" action="">
<p><input name="name" type="text"></p>
<p><input name="phone" type="text"></p>
<p><input name="email" type="text"></p>  
<p><input type="submit"></p>       
</form>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

عدم إدخال إلا الحروف : يمكنك القيام بذلك من خلال الجافا سكربت باختبار الزر الذي يتم الضغط عليه عند الكتابة داخل الinput كالاتي: 

<input type="text" onkeydown="return checkValue(event)">

وفي الدالة checkValue سيتم اختبار قيمة الادخال والتأكد من أنها تتكون من حروف فقط كما يلي:

function checkValue(event) {
  let key = event.keyCode;//للحصول على الكود الخاص بالزر المضغوظ
  return ((key >= 65 && key <= 90) || (key >= 95 && key <= 122));//هنا يتم اختبار الكود الخاص بالزر ما إذا كان الحرف كبير ويقع بين القيمتين الA-Z (95-120) او حرف صغير a-z (65-90)
}

 

  1. ادخال ارقام فقط:

    <input type="number">

     

  2. ادخال البريد الإلكتروني فقط:

    <input type="email">

     

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...