php实现登录注册页面完整代码(php登录注册整套源码)
大家觉得好的话,请大家关注点赞转发一波,谢谢!
1.制作一个测试主页
A.思维导图:
![php实现登录注册页面完整代码(php登录注册整套源码)(1)](http://img.studyofnet.com/uploads/1741/b0541a30283.jpg)
B.源码:
<?php
session_start();//启动新会话或者重用现有会话说明
?>
<html>
<head>
<meta charset=”utf-8″ />
<title>测试主页</title> <!–标题–>
</head>
<body>
<?php
if (isset($_SESSION[‘userName’])) //isset() 检测变量是否设置 如果登录成功
{
$userName = $_SESSION[‘userName’];//$_SESSION[‘username’]的值赋值给变量$userName
echo “欢迎您:” . $userName; //欢迎您:登录的名称
echo ‘<a href = “logout.php”><input type = “button” value = “注销” /></a>’; //注销按钮
}
else {//登录失败
echo ‘<a href = “login.php”><input type = “button” value = “登录” /></a>’;//登录按钮
echo ‘<a href = “register.php”><input type = “button” value = “注册” /></a>’;//注册按钮
}
?>
</body>
</html>
C.结果:
![php实现登录注册页面完整代码(php登录注册整套源码)(2)](http://img.studyofnet.com/uploads/1742/b0542a30285.jpg)
![php实现登录注册页面完整代码(php登录注册整套源码)(3)](http://img.studyofnet.com/uploads/1742/b0542a30287.jpg)
2. 登录页面
A. 思维导图:
![php实现登录注册页面完整代码(php登录注册整套源码)(4)](http://img.studyofnet.com/uploads/1742/b0542a30290.jpg)
B.源码:
<html>
<head>
<meta charset=”utf-8″ />
<title>登录</title><!–标题–>
<style>
.error{color:red;}<!–CSS样式–>
</style>
</head>
<body>
<?php
$isInfoCanUse = false;//信息是否可用被显示
$userName = $password= “”;//初始化,防止出现未定义就使用的错误
$userNameErr = $passwordErr = “”;
function dealInfo($data){ //表单信息安全处理 防止被黑客攻击
$data = trim($data);// 移除字符串两侧的空白字符或其他预定义字符
$data = htmlspecialchars($data);//把一些预定义的字符转换为 HTML 实体
$data = stripslashes($data);//删除反斜杠
return $data;
}
if ($_SERVER[‘REQUEST_METHOD’] == “POST”) { //判断信息是否完整
$isInfoCanUse = true;
if (empty($_POST[‘userName’])) { //判断用户名称是否为空
$isInfoCanUse = false;
$userNameErr = “用户名称不能为空”;//打印用户名称不能为空
} else {
$userName = dealInfo($_POST[‘userName’]); //调用表单信息安全处理函数
}
if (empty($_POST[‘password’])) {//判断密码是否为空
$isInfoCanUse = false;
$passwordErr = “密码不能为空”;//打印密码不能为空
} else {
$password = dealInfo($_POST[‘password’]); //调用表单信息安全处理函数
}
}
if ($_SERVER[‘REQUEST_METHOD’] == “POST” && $isInfoCanUse == true) { //判断表单是不是POST请求 及其信息是否可用被显示
$dbhost = ‘127.0.0.1’;//数据库主机
$dbuser = ‘root’;//数据库用户名
$dbpass = ”;//数据库密码
$dbname = ‘users’;//数据库名
$link = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);//连接数据
if (!$link) {
die(‘连接数据库失败<br/>’);//失败 打印连接数据库失败
}
else {
//echo “连接数据库成功<br/>”;//成功 打印连接数据库成功
}
if ($isInfoCanUse){ //信息是否可用被显示
$sql = “SELECT userName FROM account WHERE userName=’$userName'”;//sql 查询语句 查询用户名
$result = mysqli_query($link, $sql);//不论成功与否,都返回结果集
$test = mysqli_fetch_assoc($result);//false 查找失败
if($test == false) {
$userNameErr = “用户名称不存在”;
}
else {//sql 查询语句 查询用户名和密码
$sql = “SELECT userName,password FROM account
WHERE userName=’$userName’ and password = ‘$password'”;
$result = mysqli_query($link, $sql);//不论成功与否,都返回结果集
$test = mysqli_fetch_assoc($result);//false 查找失败
if($test == false) {
$passwordErr = “密码错误”;
} else {
//存入session
session_start();//启动新会话或者重用现有会话说明
$_SESSION[‘userName’] = $userName;//把用户名称存入$_SESSION[‘userName’]
echo “登录成功!”; //打印登录成功!
//页面跳转
echo ‘<a href = “homepage.php”><input type = “button” value = “返回主页” /></a>’;
}
}
}
}
?>
<form method=”post” action=”<?php echo htmlspecialchars($_SERVER[‘PHP_SELF’]);?>” >
用户名称:<input type=”text” name=”userName” />
<?php echo “<span class=error>*” .$userNameErr.”</span>”;?><br/>
登录密码:<input type=”password” name=”password” />
<?php echo “<span class=error>*” .$passwordErr.”</span>”;?><br/>
<input type=”submit” value=”登录” />
</form>
</body>
</html>
C.结果:
![php实现登录注册页面完整代码(php登录注册整套源码)(5)](http://img.studyofnet.com/uploads/1743/b0543a30292.jpg)
![php实现登录注册页面完整代码(php登录注册整套源码)(6)](http://img.studyofnet.com/uploads/1743/b0543a30295.jpg)
![php实现登录注册页面完整代码(php登录注册整套源码)(7)](http://img.studyofnet.com/uploads/1743/b0543a30297.jpg)
![php实现登录注册页面完整代码(php登录注册整套源码)(8)](http://img.studyofnet.com/uploads/1743/b0543a30299.jpg)
3.注册
A.思维导图:
![php实现登录注册页面完整代码(php登录注册整套源码)(9)](http://img.studyofnet.com/uploads/1744/b0544a30301.jpg)
B.源码:
<html>
<head>
<meta charset=”utf-8″ />
<title>注册</title><!–标题–>
<style>
.error{color:red;}<!–CSS样式–>
</style>
</head>
<body>
<?php
$isInfoCanUse = false;//信息是否可用被显示
$userName = $password = $email = “”;
$userNameErr = $passwordErr = $emailErr = “必填项目”;
function dealInfo($data){ //表单信息安全处理
$data = trim($data);// 移除字符串两侧的空白字符或其他预定义字符
$data = htmlspecialchars($data);//把一些预定义的字符转换为 HTML 实体
$data = stripslashes($data);//删除反斜杠
return $data;
}
if ($_SERVER[‘REQUEST_METHOD’] == “POST”) { //判断信息是否完整
$isInfoCanUse = true;
if (empty($_POST[‘userName’])) {//判断用户名称是否为空
$isInfoCanUse = false;
$userNameErr = “用户名称不能为空”;//打印用户名称不能为空
} else {
if (!preg_match(“/^[w]*$/”,$_POST[‘userName’])) {//用正则表达式判断是否符合字母和数字
$userNameErr = “只允许字母和数字”; //打印只允许字母和数字
$isInfoCanUse = false;
}
else {
$userName = dealInfo($_POST[‘userName’]); //调用表单信息安全处理函数
}
}
if (empty($_POST[‘password’])) {//判断密码是否为空
$isInfoCanUse = false;
$passwordErr = “注册密码不能为空”;//打印注册密码不能为空
} else {
if (!preg_match(“/(w{6,14})/”,$_POST[‘password’])) {//用正则表达式判断是否符合6到14位
$passwordErr = “密码长度 6~14位”; //打印密码长度 6~14位
$isInfoCanUse = false;
}
else{
$password = dealInfo($_POST[‘password’]);//调用表单信息安全处理函数
}
}
if (empty($_POST[’email’])) {////判断邮箱是否为空
$isInfoCanUse = false;
$emailErr = “注册邮箱不能为空”;//打印注册邮箱不能为空
} else {
if (!preg_match(“/([w-]+@[w-]+.[w-]+)/”,$_POST[’email’])) {//用正则表达式判断是否符合邮箱格式
$emailErr = “非法邮箱格式”; //打印非法邮箱格式
$isInfoCanUse = false;
}
else {
$email = dealInfo($_POST[’email’]);//调用表单信息安全处理函数
}
}
}
if ($_SERVER[‘REQUEST_METHOD’] == “POST” && $isInfoCanUse == true) {
$dbhost = ‘127.0.0.1’;//数据库主机
$dbuser = ‘root’;//数据库用户名
$dbpass = ”;//数据库密码
$dbname = ‘users’;//数据库名
$link = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);//连接数据库
if (!$link) {
die(‘连接数据库失败<br/>’);//失败 打印连接数据库失败
}
else {
//echo “连接数据库成功<br/>”;//成功 打印连接数据库成功
}
$sql = “SELECT userName FROM account WHERE userName=’$userName'”;//sql 查询语句 查询用户名
$result = mysqli_query($link, $sql);//不论成功与否,都返回结果集
$test = mysqli_fetch_assoc($result);//false 查找失败
if($test != false) {
$userNameErr = “用户名称已经存在”;//打印用户名称已经存在
}
else {//sql 添加语句 添加用户名 密码 邮箱
$sql = “INSERT INTO account(userName, password, email)
VALUES(‘$userName’, ‘$password’, ‘$email’)”;
if (mysqli_query($link, $sql)) {
echo “注册成功<br/>”; //打印注册成功
}
else {
echo “注册失败<br/>”;//打印注册失败
}
//页面跳转
echo ‘<a href = “homepage.php”><input type = “button” value = “返回主页” /></a>’;
}
}
?>
<form method=”post” action=”<?php echo htmlspecialchars($_SERVER[‘PHP_SELF’]);?>” >
用户名称:<input type=”text” name=”userName” />
<?php echo “<span class=error>*” .$userNameErr.”</span>”;?><br/>
注册密码:<input type=”password” name=”password” />
<?php echo “<span class=error>*” .$passwordErr.”</span>”;?><br/>
注册邮箱:<input type=”text” name=”email” />
<?php echo “<span class=error>*”.$emailErr.”</span>”;?><br/>
<input type=”submit” value=”注册” />
</form>
</body>
</html>
C.结果:
![php实现登录注册页面完整代码(php登录注册整套源码)(10)](http://img.studyofnet.com/uploads/1744/b0544a30304.jpg)
![php实现登录注册页面完整代码(php登录注册整套源码)(11)](http://img.studyofnet.com/uploads/1744/b0544a30306.jpg)
![php实现登录注册页面完整代码(php登录注册整套源码)(12)](http://img.studyofnet.com/uploads/1744/b0544a30307.jpg)
![php实现登录注册页面完整代码(php登录注册整套源码)(13)](http://img.studyofnet.com/uploads/1745/b0545a30308.jpg)
![php实现登录注册页面完整代码(php登录注册整套源码)(14)](http://img.studyofnet.com/uploads/1745/b0545a30309.jpg)
![php实现登录注册页面完整代码(php登录注册整套源码)(15)](http://img.studyofnet.com/uploads/1745/b0545a30310.jpg)
4.注销页面
A.思维导图:
![php实现登录注册页面完整代码(php登录注册整套源码)(16)](http://img.studyofnet.com/uploads/1745/b0545a30311.jpg)
B.源码:
<?php
session_start();//启动新会话或者重用现有会话说明
if (isset($_SESSION[‘userName’])) //isset() 检测变量是否设置 如果登录成功
{
session_unset();//会释放当前会话注册的所有会话变量。
session_destroy();//销毁一个会话中的全部数据
}
?>
<html>
<head>
<meta charset=”utf-8″ />
<title>注销页面</title><!–标题–>
</head>
<body>
<a href = “homepage.php”><input type = “button” value = “返回主页” /></a>
</body>
</html>
C.结果:
![php实现登录注册页面完整代码(php登录注册整套源码)(17)](http://img.studyofnet.com/uploads/1746/b0546a30312.jpg)
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com