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

السؤال

نشر

السلام عليكم

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

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

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

<?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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...