实现注册功能

一、定义目录常量

define("DIR_ROOT", str_replace('\\', '/', __DIR__) . '/');
//echo DIR_ROOT;
// 定义配置文件目录常量
define("DIR_CONFIG",DIR_ROOT."config/");
//echo DIR_CONFIG;
//定义控制器文件目录常量
define("DIR_CON",DIR_ROOT."controller/");
//定义核心文件目录常量
define("DIR_CORE",DIR_ROOT."core/");
//定义公共文件目录常量
define("DIR_MODEL",DIR_ROOT."model/");
//定义视图文件目录常量
define("DIR_VIEW",DIR_ROOT."view/");
//echo DIR_VIEW;
// 定义公开文件目录常量
define("DIR_PUBLIC", '/public');// 这里的/代表网站的根目录
//ECHO DIR_PUBLIC;

二、加载

// 1, 加载项目初始化文件
include '../init.php';

// 2, 加载视图文件
include DIR_VIEW.'register.html';

三、验证及处理数据

// 1, 加载项目初始化文件
include '../init.php';
//引入数据库文件
include DIR_CORE.'MySQLDB.php';

//接受数据
$username = trim($_POST['username']);
$password1= trim($_POST['password1']);
$password2= trim($_POST['password2']);
$vcode = trim($_POST['vcode']);
//验证数据是否合法
//判断用户的用户名和密码是否为空
if(empty($username) || empty($password1) || empty($password2)){
header("refresh:2;url=./register.php");
die("用户名和密码都不能为空,请您重新注册!");
}

//判断两次输入密码是否一样
if($password1 != $password2){
header("refresh:2;url=./register.php");
die("密码必须一样,请您重新注册!");
}

//判断用户名的长度是否非法
if(strlen($username) > 20) {
// 数据非法,跳转
header("refresh:2;url=./register.php");
die("用户名超出规定的范围,请您重新注册!");
}
//判断用户名是否存在
//先从数据库中搜索一下是否存在这个用户名
$sql = "select * from user where user_name='$username'";
$result = my_query($sql);
if(mysql_affected_rows() > 0) {
// 用户已经存在,数据非法.跳转
header("refresh:2;url=./register.php");
die("用户名已经存在,请您重新注册!");
}

//判断用户密码长度是否非法
if(strlen($password1) < 6 || strlen($password1) > 16) {
// 密码长度非法,跳转
header("refresh:2;url=./register.php");
die("密码长度应该在6到16位之间,请您重新注册!");
}

// 数据入库
$pass = md5($password1);
$sql = "insert into user values(null,'$username','$pass')";
$result = my_query($sql);
if($result) {
// 注册成功,跳转到首页或登录页面
header("refresh:2;url=./login.php");
die("注册成功,2秒后跳转到登录页面!");
}else {
// 执行失败
header("refresh:2;url=./register.php");
die("发生未知错误,请您重新注册!");
}

原文地址:https://www.cnblogs.com/zzmgg/p/6123831.html