PDA

View Full Version : سوال: اعتبار سنجی فرم



sina7650
جمعه 14 شهریور 1393, 08:22 صبح
سلام دوستان
خسته نباشید
ببخشید میشه لطف کنید بگید این کد مشکلش چیه؟
هر چی تغییرش میدم دستکاریش میکنم کار نمیکنه


<html>

<head>

<title>
:: poll ::
</title>
<meta charset="utf-8" />

<script type="text/javascript">
function validate () {
var name = document.getElementById('name') ;
var mobile = document.getElementById('mobile') ;
var email = document.getElementById('email')
if (
(name.value.length > 0 ) &&
(mobile.value.length == 11 ) &&
(mobile.value.match(/^[0-9]+$/) &&
(email.value.match(/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,4}$/))
)
{
return true ;
}
else
{
alert ("correct your inputs") ;
return false ;
}
} // end function validate ()
</script>
</head>
<body>
<form action="page2.php" method="post" onsubmit="return validate()">
<div id="submit" >
<div align="center">
<table>
<tr>
<td>
name
</td>
<td>
<input type="text" name="name" id="name"/>
</td>
</tr>
<tr>
<td>
mobile
</td>
<td>
<input type="text" name="mobile" id="mobile"/>
</td>
</tr>
<tr>
<td>
email
</td>
<td>
<input type="text" name="email" id="email"/>
</td>
</tr>
</table>
<input type="submit" value="send" />
</div>
</div>
</form>

</body>
</html>



البته چون کپی کردم اسلش ها رو برعکس گذاشته
خیلی لازم دارم
خیلی ممنون

blotran
جمعه 14 شهریور 1393, 12:01 عصر
یه پرانتز کم گذاشته بودید تو حلقه if شرط سومش
با این حال پیشنهاد میکنم برای اعتبار سنجی از خود html استفاده کنید که این همه به زحمت نیفتید

<script > function validate () {
var name = document.getElementById("name") ;
var mobile = document.getElementById('mobile') ;
var email = document.getElementById('email');
if (
(name.value.length > 0 ) &&
(mobile.value.length == 11 ) &&
(mobile.value.match(/^[0-9]+$/)) &&
(email.value.match(/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,4}$/))
)

return true ;

else
{
alert ("correct your inputs") ;
return false ;
}
} // end function validate ()
</script>

sina7650
جمعه 14 شهریور 1393, 14:22 عصر
خیلی خیلی ممنون
دستت درد نکنه
اعتبارسنجی با اچ تی ام ال منظورتون چیه؟

blotran
جمعه 14 شهریور 1393, 14:46 عصر
تو نسخه5 html مثلا شما میتونی نوع ورودی رو ایمیل قرار بدی ،یا عدد ،یا شماره تلفن،یا مثلا از regular exp استفاده کنی که اگه کاربر مثلا نوع ورودیش ایمیل یا هر چیزه دیگه نبود اخطار میده و نمیذاره که submit بشه و خیلی امکانات دیگه.
http://www.w3schools.com/html/html5_form_input_types.asp
این آدرس رو هم نگاه کنی بد نیست.
:چشمک:

sina7650
جمعه 14 شهریور 1393, 15:18 عصر
آها درسته
بعد یه سوال
میخوام یه نظر سنجی طراحی کنم
میخوام جوری باشه که هر کس فقط یه بار فرم رو پر کنه
با خودم نشستم فکر کردم گفتم بهتره هر بار که یه نفر فرم رو پر میکنه آی پیش رو هم توی دیتابیس ذخیره کنم
$_SERVER [REMOTE_ADDR]
بعد هر بار اول اسکریپت چک کنه که این آی پی توی دیتابیس وجود داره یا نه
نمی دونم روش درستی هست یا نه

blotran
جمعه 14 شهریور 1393, 17:25 عصر
آها درسته
بعد یه سوال
میخوام یه نظر سنجی طراحی کنم
میخوام جوری باشه که هر کس فقط یه بار فرم رو پر کنه
با خودم نشستم فکر کردم گفتم بهتره هر بار که یه نفر فرم رو پر میکنه آی پیش رو هم توی دیتابیس ذخیره کنم
$_SERVER [REMOTE_ADDR]
بعد هر بار اول اسکریپت چک کنه که این آی پی توی دیتابیس وجود داره یا نه
نمی دونم روش درستی هست یا نه
این سوال رو تو انجمن php مطرح کنید.

sina7650
جمعه 14 شهریور 1393, 18:18 عصر
امتحان کردم جواب داد
:قلب:

Moslem_Pc
پنج شنبه 20 شهریور 1393, 10:59 صبح
دوست من برای نظرسنجی بهتره از کوکی ها به جای ثبت آی پی استفاده کنید.
استفاده راحت، امکان تقلب کمتر، بسیار ساده تر بودن کد و این که تماما با جاوا اسکریپت نوشته میشه از جمله مزایای کوکی هستند.