php用户注册登录系统之注册处理页面
注册处理页面
流程图如下:

详细代码如下:
<?php
session_start();
//注册处理界面 regcheck.php
if(isset($_POST["hidden"]) && $_POST["hidden"] == "hidden")
{
$user = trim($_POST["username"]);//trim()函数移除字符串两侧的空白字符
$psw = md5(trim($_POST["userpwd"]));
$psw_confirm = md5(trim($_POST["confirm"]));
$code = $_POST["code"];
if($user == "" || $psw == "" || $psw_confirm == "")
{
echo "<script>alert('请确认信息完整性!'); history.go(-1);</script>";
}
else if($code != $_SESSION[' ver_code']){
echo "<script>alert('验证码不正确,请重新输入!'); history.go(-1);</script>";
}
else
{
if($psw == $psw_confirm)
{
$conn = mysqli_connect("localhost","root","root"); //连接数据库,帐号密码为自己数据库的帐号密码
if(mysqli_errno($conn)){
echo mysqli_error($conn);
exit;
}
mysqli_select_db($conn,"userdb"); //选择数据库
mysqli_set_charset($conn,'utf8'); //设定字符集
$sql = "select username from user where username = '$user'"; //SQL语句
$result = mysqli_query($conn,$sql); //执行SQL语句
$num = mysqli_num_rows($result); //统计执行结果影响的行数
if($num) //如果已经存在该用户
{
echo "<script>alert('用户名已存在'); history.go(-1);</script>";
}
else //不存在当前注册用户名称
{
$ip=ip2long($_SERVER['REMOTE_ADDR']); // 把ip地址转换成整型
$time=time();
$sql_insert = "insert into `user` (`username`,`userpwd`,`createtime`,`createip`) values('" . $user . "','" . $psw ."','".$time."','".$ip."')";
$res_insert = mysqli_query($conn,$sql_insert);
if($res_insert)
{
echo "<script>alert('注册成功!');window.location.href='login.php';</script>";
}
else
{
echo "<script>alert('系统繁忙,请稍候!'); history.go(-1);</script>";
}
}
}
else
{
echo "<script>alert('密码不一致!'); history.go(-1);</script>";
}
}
}
else
{
echo "<script>alert('提交未成功!');</script>";
}
?>代码解释:
当在注册页面点击注册时进入注册处理页面
判断post方式传过来的$_POST["hidden"]是否存在,不存在则提示提交未成功,返回注册界面,存在则继续。
将传过来的值获取到(利用trim()函数过滤空白字符,密码使用md5()函数加密),然后判断是否为空,为空则弹出提示,返回注册界面,不为空则继续
判断post方式传递过来的验证码值与之前存在session里面的验证码值是否相等,不相等则提示验证码不正确,返回注册页面,相等则继续执行
判断传过来的密码和确认密码是否相等,不相等则提示密码不一致,相等则继续
连接数据库、选择我们创建的数据库、设定字符集、通过用户名查询数据库,有结果则提示用户名存在,返回注册页面,没有结果则执行数据库插入语句,插入数据(插入数据库的字段增加了注册时间以及注册是使用的ip号)
通过插入语句的返回值,判断是否插入成功,不成功则返回注册页面重新注册,成功则提示注册成功,跳转至登录页面
