یه نگاهی به این کد ها بنداز:
کد:
<?php
include_once("maincore.php");
$username = clear($_POST['tfuser']);
$pass1 = clear($_POST['tfpass1']);
$pass2 = clear($_POST['tfpass2']);
$email = clear($_POST['tfemail']);
$name = clear($_POST['tfname']);
$family = clear($_POST['tffamily']);
# --------- email check ---------------------
if(isset($_POST['tfuser']))
{
if(!isEmail($email))
{
$error['email_val'] = "نشانی ایمیل درست نیست.";
}
}
# --------- email exist ---------------------
if(clear($_POST['tfemail']) != "")
{
$dblink = dbconnect($dbhost, $dbuser, $dbpass, $dbname);
$emailquery = dbquery("select * from user where user_email ='".$email."'");
$emailrow = dbrows($emailquery);
if(isset($_POST['tfuser']))
{
if($emailrow != 0)
{
$error['user_exist'] = "شما با این نشانی قبلا ثبت نام کرده اید.";
}
}
}
# --------- user char num ---------------------
if(isset($_POST['tfuser']))
{
if(strlen($username)<6 || strlen($username)>20)
{
$error['user_char'] = "نام کاربری باید بین 6 تا 20 حرف باشد.";
}
}
# --------- user name check ---------------------
if(clear($_POST['tfuser']) != "")
{
$dblink = dbconnect($dbhost, $dbuser, $dbpass, $dbname);
$query = dbquery("select * from user where user_name ='".$username."'");
$numrow = dbrows($query);
if(isset($_POST['tfuser']))
{
if($numrow != 0)
{
$error['user_exist'] = "این نام کاربری پیش تر ثبت شده است.";
}
}
}
# ------------- password check -------------------
if(isset($_POST['tfuser']))
{
if(strlen($pass1)<6 || strlen($pass1)>20)
{
$error['pass_char'] = "گذرواژه باید بین 6 تا 20 حرف باشد.";
}
}
# ------------- password repeat -------------------
if(isset($_POST['tfuser']))
{
if($pass1 != $pass2)
{
$error['pass_repeat'] = "تکرار گذرواژه نادرست است.";
}
}
# ------------- name check -------------------
if(isset($_POST['tfuser']))
{
if(empty($name))
{
$error['name'] = "نوشتن نام الزامی ست.";
}
}
# ------------- family check -------------------
if(isset($_POST['tffamily']))
{
if(empty($family))
{
$error['family'] = "نوشتن نام خانوادگی الزامی است.";
}
}
if(isset($_POST['tfuser']))
{
if(count($error) == 0)
{
$query = "INSERT INTO `st`.`user` (`user_id`, `user_name`, `user_pass`, `user_email`, `name`, `family`) VALUES (NULL, '".$username."', '".$pass1."', '".$email."', '".$name."', '".$family."');";
mysql_query($query);
header("location: index.php?user_reg=1");
}
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ثبت نام</title>
<link href="style.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/JavaScript">
<!--
function redirect(URLStr) { location = URLStr; }
//-->
</script>
<style type="text/css">
<!--
.style1 {font-size: 12px}
-->
</style>
</head>
<body>
<table width="800" height="600" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td valign="top">
<div id="header"></div>
<div class="style1 style1" id="top-menu"><a href="index.php">خانه</a> |
<a href="register.php"> ثبت نام </a></div>
<div id="null"></div>
<table width="794" height="500" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="734" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="15" class="news-head">فرم ثبت نام </td>
</tr>
<tr>
<td class="news-body" dir="rtl" >
<center><?php
if(isset($error))
{
?>
<div align="right" id="errorDiv">
<div style="height:10px;"></div>
<div style="margin-right:300px;">
<?php
if($error['user_char'])
{
echo "<li >".$error['user_char']."</li>";
}
if($error['email_val'])
{
echo "<li >".$error['email_val']."</li>";
}
if($error['user_exist'])
{
echo "<li >".$error['user_exist']."</li>";
}
if($error['pass_char'])
{
echo "<li >".$error['pass_char']."</li>";
}
if($error['pass_repeat'])
{
echo "<li >".$error['pass_repeat']."</li>";
}
if($error['name'])
{
echo "<li >".$error['name']."</li>";
}
if($error['family'])
{
echo "<li >".$error['family']."</li>";
}
?>
</div>
<div style="height:10px;"> </div>
</div>
<?php
}
?><br />
<div dir="rtl" style="width:60%" align="center">
<form action="" method="post">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="4">
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td width="44%"><div align="left">نام کاربری : </div></td>
<td width="56%"><input value="<?php echo $username ?>" name="tfuser" type="text" id="tfuser"/></td>
</tr>
<tr>
<td><div align="left">کلمه عبور : </div></td>
<td><input name="tfpass1" type="password" id="tfpass1" size="18" /></td>
</tr>
<tr>
<td><div align="left">تکرار کلمه عبور : </div></td>
<td><input name="tfpass2" type="password" id="tfpass2" size="18" /></td>
</tr>
<tr>
<td><div align="left">ایمیل : </div></td>
<td><input name="tfemail" type="text" id="tfemail" size="30" value="<?php echo $email ?>" /></td>
</tr>
<tr>
<td><div align="left">نام : </div></td>
<td><input name="tfname"value="<?php echo $name ?>" type="text" id="tfname" size="30" /></td>
</tr>
<tr>
<td><div align="left">نام خانوادگی : </div></td>
<td><input name="tffamily" value="<?php echo $family ?>" type="text" id="tffamily" size="30" /></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2" align="center">
<input name="submit" type="submit" id="submit" style="font-family:Tahoma" value=" ارسال " />
</td>
</tr>
</table>
</form>
<br />
<br />
<br />
</div>
</center>
<br />
<br /></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
در واقع شما اول اکشن فرم رو خالی بزار ( یعنی برای خود صفحه ارسالش کن)
بعد اول صفحه چک می کنی که یکی از تکست فیلدها ارسال شده یا نه
کد:
isset($_POST['tfuser'])
حالا اگه isset شده یعنی دکمه ی ارسال زده شده. بنابر این چک می کنی که آیا فیلدها شرایطی رو که باید داشته باشن دارن یا نه؟!
اگه دارن که هیچی
اگه ندارن یه ارایه می گیری به نام مثلا error و پرش می کنی از خطاهای مشخص مثلا:
کد:
$error['username'] = "user name is invalid";
[/align]"
بعد تو اون بخشی که باید خطاها رو نمایش بدی چک می کنی که error$ ایزست شده یا نه... اگه شده خطای مربوطه رو نشون می دی و اگه نشده صفحه رو redirect می کنی.