PDA

View Full Version : سوال: validation form در php



akram-g
پنج شنبه 12 شهریور 1388, 11:32 صبح
سلام دوستان
می خواستم ببینم validation form در php به چه شکل می باشد. من این کارو با جاوا اسکریپت انجام دادم ولی جواب نداد. ممنون میشم اگه کمکم کنید.

mostafa_shaeri_tj
جمعه 13 شهریور 1388, 13:36 عصر
valdiatoin form تو php کار به صرفه ای نیست. و احتیاج به یک درخواست از سرور داره . و با این سرعتای پایین باعث ناراحتی کاربر میشه.
بهتره از همون جاوا اسکریپت استفاده کنی. که سمت کلاینت تمام فیلد های فرمتو چک میکنه بدن ارتباط برقرار کردن با سرور و با سرعت بالا .

Cyletech
جمعه 13 شهریور 1388, 14:08 عصر
برای بهتر شدن سیستمتون هر کاری کنید. به سرعت اینترنت ایران هم دقتی نکنید چون الان اکثریت با ADSL میان بالا. اگه هم dial-up داشته باشند، مشکلی برای باز کردن صفحه ندارند.

akram-g
جمعه 13 شهریور 1388, 15:07 عصر
valdiatoin form تو php کار به صرفه ای نیست. و احتیاج به یک درخواست از سرور داره . و با این سرعتای پایین باعث ناراحتی کاربر میشه.
بهتره از همون جاوا اسکریپت استفاده کنی. که سمت کلاینت تمام فیلد های فرمتو چک میکنه بدن ارتباط برقرار کردن با سرور و با سرعت بالا .


مرسي از لطفتون كه جواب داديد ولي گفتم كه با جاوا ، نميدونم چرا جواب نميده.

__ziXet__
جمعه 13 شهریور 1388, 15:18 عصر
مرسي از لطفتون كه جواب داديد ولي گفتم كه با جاوا ، نميدونم چرا جواب نميده.
اگه فرمتون خیلی حساس هست و حتما باید از ورود ربات ها جلوگیری کنید تو خود php هم فرم رو اعتبار سنجی کنید ولی اگه خیلی مهم نیست با جاوااسکریپت کافیه
مشکل شما با js چیه؟

Bahram0110
شنبه 14 شهریور 1388, 16:47 عصر
سلام
با __ziXet__ (http://barnamenevis.org/forum/member.php?u=90229) موافقم

s_salavati2002
شنبه 14 شهریور 1388, 22:04 عصر
اگر با کد نویسی validation مشکل داری از dreamweaver استفاده کن ، خودش اینارو آماده داره

akram-g
یک شنبه 15 شهریور 1388, 12:01 عصر
اگر با کد نویسی validation مشکل داری از dreamweaver استفاده کن ، خودش اینارو آماده داره
با كدنويسي java مشكي ندارم نميدونم چرا در php اجرا نميشه در ضمن validation form در php بلد نيستم. ميشه كمكم كنيد.

hadiaj168
یک شنبه 15 شهریور 1388, 18:28 عصر
ابتدا باید متغیرهای فرمتون رو دریافت کنید:

$temp = $_POST['name'];
یا (با توجه متد فرمتون)

$temp = $_GET[NAME];
بعد با توجه به متغیر شرط لازم رو اعمال کن مثلا تو سایت من کاربرها با ایمیلشون وارد میشن به همین دلیل به صورت زیر کنترل میکنم که آیا مقداری که کاربر وارد کرده فرمت یک ایمیل هست یا نه:

function valid_email($address)
{
// check an email address is possibly valid
if (ereg('^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$', $address))
return true;
else
return false;
}
کار سنجش فرم رو توی یک فایل جدا انجام میدم:

error_reporting(0);
require('user_auth_fns.php');
session_start();
global $_SESSION;
$email=$_POST['email'];
//$repass = $_POST['repass'];
//$webaddress = $_POST['webaddress'];
$pass = $_POST['pass'];
$trufal =1;




//*************************
if(!valid_email($email)){
$_SESSION['emailstrc'] = "آدرس ایمیل را درست وارد کنید!";
$trufal = 0;
}


if(strlen($pass)>16||strlen($pass)<6){
$_SESSION['passlen'] = "رمز عبور را اشتباه وارد کرده اید!";
$trufal = 0;
}


if($trufal == 0)
{
header("location:login.php");
exit();
}
.
.
.
.
اگه درست بود که کار انجام میشه اما اگه نبود دوباره صفحه قبلی نمایش داده میشه با یک اخطار که شما ایمیل رو درست وارد نکردید.
برای اینکه یک صفحه لاگین جدا برای یک اخطار کوچولو درست نکنم تو صفحه لاگین از یک سشن استفاده میکنم.
سنجش خالی نبودن متغیر فرم:

function filled_out($form_vars)
{
// test that each variable has a value
foreach ($form_vars as $key => $value)
{
if (!isset($key) || ($value == ''))
return false;
}
return true;
}
امیدوارم بدرد بخوره ولی بیشتر به فرمتون بستگی داره که چی باید وارد بشه.
در پایان توصیه میکنم که هم از اسکریپت و هم از PHP برای این کار استفاده کنید چون اگه کاربر فرم رو پر کنه و یعد از کلی منتظر موندن برای گرفتن جواب دوباره برگرده جای اول واقعا حال گیریه.

با كدنويسي java مشكي ندارم نميدونم چرا در php اجرا نميشه
منظورتون چیه؟یعنی کد اسکریپت تو فایل PHP جواب نمیده؟