php验证注册表单 下面是我写的一个注册页面,但是在一打开这个页面的时候就会提示注册成功。如何控制?

<?php
$conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");
mysql_select_db("mydb", $conn);
mysql_query("set names 'GBK'");

?>
<SCRIPT language=javascript>
function CheckPost()
{
if (myform.user.value=="")
{
alert("请填写用户名");
myform.user.focus();
return false;
}
if (myform.pw1.value=="")
{
alert("请填写密码");
myform.pw1.focus();
return false;
}
if (myform.pw2.value=="")
{
alert("请再次输入密码");
myform.pw2.focus();
return false;
}
if(myform.pw1.value!=myform.pw2.value)
{
alert("您两次输入的密码不一致!!");
myform.pw2.focus();
return false;
}
}
</SCRIPT>

<form action="" name="myform" method="post" onsubmit="return CheckPost();">
<table>
<tr>
<td>用户名:</td><td><input type="text" name="user"></td>
</tr>
<tr>
<td>请输入密码:</td><td><input type="password" name="pw1" ></td>
</tr>
<tr>
<td>请再输一次密码:</td><td><input type="password" name="pw2" ></td>
</tr>
<tr>

<td><input type="submit" name="submit" value="提交"/></td>
</tr>
</table>
</form>
<?php

{
$user=$_POST['user'];
$pw1=md5($_POST['pw1']);//数据库中存储的密码需要经过加密

$strSql="insert into sys_user values('','$user','$pw1','','')";
$result=mysql_query($strSql,$conn) or die(mysql_error());
echo "<script type='text/javascript'>alert (\"注册成功\")</script>" ;
}
?>
<?php
include 'conn.php';

if($_POST["submit"]){
$user=$_POST['user'];
$pw1=md5($_POST['pw1']);//数据库中存储的密码需要经过加密

$result=mysql_query("select * from sys_user where user_name='$user' ");
$row=mysql_fetch_array($result);
if(empty($row)){
$strSql="insert into sys_user values('','$user','$pw1','','')";
$result=mysql_query($strSql,$conn) or die(mysql_error());
echo "<script type='text/javascript'>alert (\"注册成功\")</script>" ;
} else
{
echo "<script type='text/javascript'>alert (\"用户名已存在\")</script>" ;}

}

?>

第1个回答  推荐于2016-06-23
<form action="register.php" name="myform" method="post" onsubmit="return CheckPost();">
action改成register.php
然后把处理代码写到register.php中、
<?php
$conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");
mysql_select_db("mydb", $conn);
mysql_query("set names 'GBK'");

if($_POST["submit"]){
$user=$_POST['user'];
$pw1=md5($_POST['pw1']);//数据库中存储的密码需要经过加密

$strSql="insert into sys_user values('','$user','$pw1','','')";
$result=mysql_query($strSql,$conn) or die(mysql_error());
echo "<script type='text/javascript'>alert (\"注册成功\")</script>" ;
}

?>追问

我按你写的改了一点,加了一个验证用户名是否存在的控制,现在想要在提示 用户名已存在 之后能够自动跳转到刚才注册的页面,怎么改? 代码这里写不下,写在问题补充中

本回答被提问者和网友采纳
第2个回答  2011-05-21
<?php

if(isset($_POST["submit"]){ //当提交了表单时才执行后面的操作
$user=$_POST['user'];
$pw1=md5($_POST['pw1']);//数据库中存储的密码需要经过加密

$strSql="insert into sys_user values('','$user','$pw1','','')";
$result=mysql_query($strSql,$conn) or die(mysql_error());
echo "<script type='text/javascript'>alert (\"注册成功\")</script>" ;
}
?>追问

如何在javascript中来控制用户名和密码的格式呢?
比如:用户名必须是字母,而且不能和以前的用户重名。
密码必须是大于6位数子和字母的组合
能否做到不提交就能够显示提示格式不正确

追答

用户名 密码的判断使用正则表达式就可以了 不知道你学过正则表达式没 没学过的话就去看一下
挺简单的
至于判断不能和以前的用户重名 加入以下代码:
$result=mysql_query("select * from sys_user where name='$user' ");
$row=mysql_fetch_array($result);
if(!empty($row)){
} //$row不为空的话 说明重名

追问

这段代码放在呢里?能否做到不提交就能够显示提示重名

追答

要做到不提交就显示重名 需要用到ajax技术 有兴趣的话可以去学学
放到 $pw1=md5($_POST['pw1']);//数据库中存储的密码需要经过加密
的后面就可以了

第3个回答  2011-05-21
你的页面一打开就执行注册了。用传值判断或跳转其他页进行操作。
第4个回答  2011-05-21
1,<form action="" name="myform" method="post" onsubmit="return CheckPost();">
改为 action="reg.php"
2,新建一个PHP文件reg.php;
下面这段代码放到reg.php文件里
<?php

{
$user=$_POST['user'];
$pw1=md5($_POST['pw1']);//数据库中存储的密码需要经过加密

$strSql="insert into sys_user values('','$user','$pw1','','')";
$result=mysql_query($strSql,$conn) or die(mysql_error());
echo "<script type='text/javascript'>alert (\"注册成功\")</script>" ;
}
?>

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网