PHP用户开发注册模块之PHP页面
前面介绍了用户注册的主要功能,本页就通过PHP代码来实现这些功能。
我们用POST方式来获取数据。
<?php $username = $_POST['username']; //注册的用户名 $password = $_POST['password']; //注册密码 $confirm = $_POST['confirm']; //确认密码 $email = $_POST['email']; //邮箱 $code = $_POST['code']; //验证码 ?>
继续连接我们已经创建的数据库和表
<?php
$link = mysqli_connect('localhost','root','root','test');
if (!$link) {
die("连接失败:".mysqli_connect_error());
}
$sql = "select * from login";
$result = mysqli_query($link, $sql);
$rows = mysqli_fetch_array($result);
?>我们需要对输入的用户名和邮箱进行正则判断
<?php
if ((strlen($username) < 3)||(!preg_match('/^\w+$/i', $username)))
{
echo "<script>alert('用户名至少3位且不含非法字符!重新填写');window.location.href='zhuce'</script>";
//判断用户名长度和非法字符
}
if (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $email))
{
echo "<script>alert('邮箱不合法!重新填写');window.location.href='zhuce.html'</script>";
//判断邮箱格式是否合法
}
?>这里与用户登录最大的不同在于如果用户名已经被其他用户注册,您将不能在使用这个用户名。
需要先读取数据库中已经存在的用户名数据,然后进行判断。
<?php
if(mysqli_fetch_array(mysqli_query($link,"select * from login where username = '$username'")))
{
echo "<script>alert('用户名已存在');window.location.href='zhuce.html'</script>";
// 判断用户名是否已经被注册
}
?>完整的zhuce.php文件代码:
<?php
session_start();
header("Content-type:text/html;charset=utf-8");
$link = mysqli_connect('localhost','root','root','test');
if (!$link) {
die("连接失败:".mysqli_connect_error());
}
$username = $_POST['username'];
$password = $_POST['password'];
$confirm = $_POST['confirm'];
$email = $_POST['email'];
$code = $_POST['code'];
if($username == "" || $password == "" || $confirm == "" || $email == "" || $code == "")
{
echo "<script>alert('信息不能为空!重新填写');window.location.href='zhuce.html'</script>";
} elseif ((strlen($username) < 3)||(!preg_match('/^\w+$/i', $username))) {
echo "<script>alert('用户名至少3位且不含非法字符!重新填写');window.location.href='zhuce'</script>";
//判断用户名长度
}elseif(strlen($password) < 5){
echo "<script>alert('密码至少5位!重新填写');window.location.href='zhuce.html'</script>";
//判断密码长度
}elseif($password != $confirm) {
echo "<script>alert('两次密码不相同!重新填写');window.location.href='zhuce.html'</script>";
//检测两次输入密码是否相同
} elseif (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $email)) {
echo "<script>alert('邮箱不合法!重新填写');window.location.href='zhuce.html'</script>";
//判断邮箱格式是否合法
} elseif($code != $_SESSION['authcode']) {
echo "<script>alert('验证码错误!重新填写');window.location.href='zhuce.html'</script>";
//判断验证码是否填写正确
} elseif(mysqli_fetch_array(mysqli_query($link,"select * from login where username = '$username'"))){
echo "<script>alert('用户名已存在');window.location.href='zhuce.html'</script>";
} else{
$sql= "insert into login(username, password, confirm, email)values('$username','$password','$confirm','$email')";
//插入数据库
if(!(mysqli_query($link,$sql))){
echo "<script>alert('数据插入失败');window.location.href='zhuce.html'</script>";
}else{
echo "<script>alert('注册成功!)</script>";
}
}
?>进入注册页面,填好各项正确的数据,然后打开数据库就会发现您刚刚添加的数据已经存在。

例如:这里我们增加了一个用户名 为 sell , 密码和确认密码为12345,邮箱为123@www.com的用户。
注:本节课程只是简单演示用户注册,其代码仅供学习参考,不可直接用于项目。
