PDA

View Full Version : خالی بودن یا نبودن فیلد



amin7x
چهارشنبه 15 آذر 1391, 14:31 عصر
سلام دوستان

من یک صفحه ثبت نام دارم و میخوام کاری کنم که اگر فیلدی خالی بود به اون ارور بده.(سمت کلاینت)

و یک راه هم میخوام که اگه سمت کلاینت رو دور زدن از سمت سرور بهشون ارور بده.
کد صفحه ثبت نام من:



<form action="" method="post" name="register">
<table>
<tr>
<td><label for="email">ایمیل : <span>*</span></label></td>
<td><input type="text" name="email" value="" /></td>
</tr>
<tr>
<td><label for="nickname">نام : <span>*</span></label></td>
<td><input type="text" name="nickname" value="" /></td>
</tr>
<tr>
<td><label for="username">نام کاربری : <span>*</span></label></td>
<td><input type="text" name="username" value="" /></td>
</tr>
<tr>
<td><label for="password">رمزعبور : <span>*</span></label></td>
<td><input type="password" name="password" value="" /></td>
</tr>
<tr>
<td><label for="repeat">تکرار رمزعبور : <span>*</span></label></td>
<td><input type="password" name="repeat" value="" /></td>
</tr>
</table>
<br />
<input name="register" type="submit" value="ثبت نام" />
<input name="reset" type="reset" value="پاک کردن فرم" />
</form>
<?php
include_once("../config.php");

if(isset($_POST['register'])){

$email=$_POST['email'];
$nickname=$_POST['nickname'];
$username=$_POST['username'];
$password=$_POST['password'];
$repassword=$_POST['repeat'];

$insert="INSERT INTO `users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_prim`) VALUES ('$username', '$password', '$nickname', '$email', 'user');";
$res=mysql_query($insert,$con);
if($res=true){
echo "ثبت نام با موفقیت انجام شد";
}

}
?>

Tarragon
چهارشنبه 15 آذر 1391, 15:03 عصر
If($email == NULL or $nickname == NULL or $username == NULL or $password == NULL or $repassword == NULL)
die("لطفا همه ی فیلد ها را کامل کنید");

amin7x
چهارشنبه 15 آذر 1391, 15:08 عصر
If($email == NULL or $nickname == NULL or $username == NULL or $password == NULL or $repassword == NULL)
die("لطفا همه ی فیلد ها را کامل کنید");


میشه توی کد بالا چجاش بدید.

من متوجه کدتون نشدم.

وقتی میزارمش بازم ثبت نام رو انجام میده.

thacker
چهارشنبه 15 آذر 1391, 15:49 عصر
سلام دوست عزیز ...
کد زیر از سمت سرور به کاربر پیغام خطا میده :



<?php
include_once("../config.php");

if(isset($_POST['register'])){

$email=$_POST['email'];
$nickname=$_POST['nickname'];
$username=$_POST['username'];
$password=$_POST['password'];
$repassword=$_POST['repeat'];

if(!empty($_POST['nickname']) && !empty($_POST['username']) && !empty($_POST['password']) && !empty($_POST['repeat'])) {

if ($password == $repassword) {
$insert="INSERT INTO `users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_prim`) VALUES ('$username', '$password', '$nickname', '$email', 'user');";
$res=mysql_query($insert,$con);

$accept = "عزيز ثبت نام با موفقيت انجام شد";
} else {

$error = "کلمه عبور با تکرار آن همخواني ندارد";

}

} else {

$error = "خطا در ثبت نام";

}

}
?>
<?php if(!empty($accept)) echo '<tr><td><span style="color:#000;">'.$accept.'&nbsp;'.$nickname.'</span></td></tr>'; ?>
<?php if(!empty($error)) echo '<tr><td><span style="color:#F00;">'.$error.'</span></td></tr>'; ?>
<form action="" method="post" name="register">
<table>
<tr>
<td><label for="email">ايميل : <span>*</span></label></td>
<td><input type="text" name="email" value="" /></td>
</tr>
<tr>
<td><label for="nickname">نام : <span>*</span></label></td>
<td><input type="text" name="nickname" value="" /></td>
</tr>
<tr>
<td><label for="username">نام کاربري : <span>*</span></label></td>
<td><input type="text" name="username" value="" /></td>
</tr>
<tr>
<td><label for="password">رمزعبور : <span>*</span></label></td>
<td><input type="password" name="password" value="" /></td>
</tr>
<tr>
<td><label for="repeat">تکرار رمزعبور : <span>*</span></label></td>
<td><input type="password" name="repeat" value="" /></td>
</tr>
</table>

<input name="register" type="submit" value="ثبت نام" />
<input name="reset" type="reset" value="پاک کردن فرم" />
</form>



و کد زیر هم از سمت سرور و هم از سمت کلاینت (توسط جاوا اسکریپت) به کاربر پیغام میده ...



<?php
include_once("../config.php");

if(isset($_POST['register'])){

$email=$_POST['email'];
$nickname=$_POST['nickname'];
$username=$_POST['username'];
$password=$_POST['password'];
$repassword=$_POST['repeat'];

if(!empty($_POST['nickname']) && !empty($_POST['username']) && !empty($_POST['password']) && !empty($_POST['repeat'])) {

if ($password == $repassword) {
$insert="INSERT INTO `users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_prim`) VALUES ('$username', '$password', '$nickname', '$email', 'user');";
$res=mysql_query($insert,$con);

$accept = "عزیز ثبت نام با موفقيت انجام شد";
} else {

$error = "کلمه عبور با تکرار آن همخوانی ندارد";

}

} else {

$error = "خطا در ثبت نام";

}

}
?>

<script type='text/javascript'>


function formValidator()
{

var email = document.getElementById('email');
var nickname = document.getElementById('nickname');
var username = document.getElementById('username');
var password = document.getElementById('password');
var repeat = document.getElementById('repeat');

if(notEmpty(email, "ایمیل را وارد کنید")){
if(emailValidator(email, "ایمیل اشتباه است")){
if(notEmpty(nickname, "نام را وارد کنید")){
if(notEmpty(username, "لطفا نام کاربری خود را وارد کنید")){
if(notEmpty(password, "لطفا کلمه عبور خود وارد کنيد")){
if(notEmpty(repeat, "تکرار کلمه عبور خالی است")){

return true;
}
}
}
}
}
}


return false;

}

function emailValidator(elem, helperMsg){
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
if(elem.value.match(emailExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
function isNumeric(elem, helperMsg){
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
function notEmpty(elem, helperMsg){
if(elem.value.length == 0){
alert(helperMsg);
elem.focus(); // set the focus to this input
return false;
}
return true;
}

</script>


<?php if(!empty($accept)) echo '<tr><td><span style="color:#000;">'.$accept.'&nbsp;'.$nickname.'</span></td></tr>'; ?>
<?php if(!empty($error)) echo '<tr><td><span style="color:#F00;">'.$error.'</span></td></tr>'; ?>
<form action="" method="post" name="register" onsubmit="return formValidator()">
<table>
<tr>
<td><label for="email">ايميل : <span>*</span></label></td>
<td><input type="text" name="email" id="email" value="" /></td>
</tr>
<tr>
<td><label for="nickname">نام : <span>*</span></label></td>
<td><input type="text" name="nickname" id="nickname" value="" /></td>
</tr>
<tr>
<td><label for="username">نام کاربري : <span>*</span></label></td>
<td><input type="text" name="username" id="username" value="" /></td>
</tr>
<tr>
<td><label for="password">رمزعبور : <span>*</span></label></td>
<td><input type="password" name="password" id="password" value="" /></td>
</tr>
<tr>
<td><label for="repeat">تکرار رمزعبور : <span>*</span></label></td>
<td><input type="password" name="repeat" id="repeat" value="" /></td>
</tr>
</table>

<input name="register" type="submit" value="ثبت نام" />
<input name="reset" type="reset" value="پاک کردن فرم" />
</form>



موفق باشید ...

engmmrj
چهارشنبه 15 آذر 1391, 21:07 عصر
سلام دوست عزیز از این روش استفاده کن

if($_POST['name']=='' || is_numeric($_POST['name']))
{
echo"مجاز نسیت";
$error=1;
}
if($_POST['lname']=='' || is_numeric($_POST['lname']))
{
echo"مجاز نیست
$error=1;
}
}
if($error==0){

در اول 2 ارور تعریف میکنیم (ارو1و ارور0) اگر خالی یا عدد وارد کنی ارور میده فقط در قسمت بالا گفتیم که اگر ارور مساوی 0 باشه بعدن کد اتصال به دیتا بیس رو بزن:لبخندساده:

mamali-mohammad
چهارشنبه 15 آذر 1391, 21:14 عصر
if(isset($_POST['register'])){

$email=$_POST['email'];
if(!$email)
echo "error";
}