关于页面的跳转
时间:2006-08-24 来源:CUDev
今天改Otter的时候,要给otter做一个用户注册的页面。前端是一个register.php页面,有一个form来提供用户输入,写了一个javascript来检验用户输入是否符合标准。
function check()
{
//Check username----------------------------------------------------------
if (addmember.newname.value == "")
{alert("User name should not be blank!"); return false;}
if(addmember.newpassword.value != addmember.repassword.value) {alert("Password does not mach!"); return false;}
//Check E-mail----------------------------------------------------------
if (addmember.newemail.value == "")
{alert("E-mail should not be blank!"); return false;}
else {
var regex = /^\S+\@\S+\.\S+$/;
if ( (regex.test(addmember.newemail.value)) == false )
{alert("E-mail format is not correct!"); return false; }
//else {alert("ACCEPT!"); return true;}
}
//Check IP----------------------------------------------------------
if (addmember.newip.value == "")
{
alert("IP should not be blank!"); return false;
}
else
{
var regex= /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/;
if( (regex.test(addmember.newip.value)) == false )
{alert("The IP is invalid!");return false;}
}
return true;
}
这个JavaScript用来检验用户输入的用户名、email、ip的准确性。
下面将这个表单提交给 action_add_user.php,里面还会对输入的用户名进行校验,是否有重复,同样对ip进行校验。
这里出了一个问题,就是如何判断用户名已经存在。
查询数据库:
$query_ip="SELECT * FROM user where ip='".$_POST["newip"]."' order by id";
$result_ip=mysql_query($query_ip);
$row_ip = mysql_fetch_row($result_ip);
if(!empty($row_ip))
{
header("location:./error.php?info=IP exist! Please choose another!");
exit(1);
}
$query_name="SELECT * FROM user where name='".$_POST["newname"]."' order by id";
$result_name = mysql_query($query_name);
$row_name = mysql_fetch_row($result_name) ;
if(!empty($row_name))
{
header("location:./error.php?info=User name exist! Please choose another!");
exit(1);
}
刚开始的时候,竟然傻到将empty判断错了,当用户名存在时,查询数据库应该非空,再跳转到错误页面。
发现这个错误之后,没有跳转到错误页面,而是跳转到注册成功的页面。
session_start();
session_register("user");
$user=$_POST["newname"];
header("Location:index.php");
分析来分析去,没有错误啊~~~php写的没有错啊~~~
怎么会这么慢呢???
……………………
页面跳转了好几次,因为我没有在页面跳转的后面加上 exit。以前的时候,跳转都是在页面的结尾,所以不加exit页可以正常的跳装。~~~~~
搞定用户注册了~~~~
function check()
{
//Check username----------------------------------------------------------
if (addmember.newname.value == "")
{alert("User name should not be blank!"); return false;}
if(addmember.newpassword.value != addmember.repassword.value) {alert("Password does not mach!"); return false;}
//Check E-mail----------------------------------------------------------
if (addmember.newemail.value == "")
{alert("E-mail should not be blank!"); return false;}
else {
var regex = /^\S+\@\S+\.\S+$/;
if ( (regex.test(addmember.newemail.value)) == false )
{alert("E-mail format is not correct!"); return false; }
//else {alert("ACCEPT!"); return true;}
}
//Check IP----------------------------------------------------------
if (addmember.newip.value == "")
{
alert("IP should not be blank!"); return false;
}
else
{
var regex= /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/;
if( (regex.test(addmember.newip.value)) == false )
{alert("The IP is invalid!");return false;}
}
return true;
}
这个JavaScript用来检验用户输入的用户名、email、ip的准确性。
下面将这个表单提交给 action_add_user.php,里面还会对输入的用户名进行校验,是否有重复,同样对ip进行校验。
这里出了一个问题,就是如何判断用户名已经存在。
查询数据库:
$query_ip="SELECT * FROM user where ip='".$_POST["newip"]."' order by id";
$result_ip=mysql_query($query_ip);
$row_ip = mysql_fetch_row($result_ip);
if(!empty($row_ip))
{
header("location:./error.php?info=IP exist! Please choose another!");
exit(1);
}
$query_name="SELECT * FROM user where name='".$_POST["newname"]."' order by id";
$result_name = mysql_query($query_name);
$row_name = mysql_fetch_row($result_name) ;
if(!empty($row_name))
{
header("location:./error.php?info=User name exist! Please choose another!");
exit(1);
}
刚开始的时候,竟然傻到将empty判断错了,当用户名存在时,查询数据库应该非空,再跳转到错误页面。
发现这个错误之后,没有跳转到错误页面,而是跳转到注册成功的页面。
session_start();
session_register("user");
$user=$_POST["newname"];
header("Location:index.php");
分析来分析去,没有错误啊~~~php写的没有错啊~~~
怎么会这么慢呢???
……………………
页面跳转了好几次,因为我没有在页面跳转的后面加上 exit。以前的时候,跳转都是在页面的结尾,所以不加exit页可以正常的跳装。~~~~~
搞定用户注册了~~~~
相关阅读 更多 +