php实现简单登录注册页面(利用php实现简单的后台注册登录)
首发

php实现简单登录注册页面(利用php实现简单的后台注册登录)

优质
请用语音读文章

大家觉得好的话。请大家关注点赞转发一波。谢谢!

1.制作一个测试主页

A.思维导图:

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.结果:

2. 登录页面

A. 思维导图:

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.结果:

3.注册

A.思维导图:

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.结果:

4.注销页面

A.思维导图:

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.结果:

以上就是由优质生活领域创作者 生活常识网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

制作铃声用什么软件(铃声制作专家)

请用语音读文章网上很多方法。略显复杂。结合一些评论。亲测此法最为简单。手机即可完成[...

会声会影什么版本好用(最新会声会影2021序列号分享)

请用语音读文章爱剪辑爱剪辑是最易用、强大的视频剪辑软件。也是国内首款全能的免费视[&...

早安最短精句正能量(正能量语录短句子)

请用语音读文章早安最短精句正能量1、早安。不要辜负了自我受过的苦难。这样善良又努[&...

魔兽世界8.0还刷得到风剑吗(现在魔兽世界还能弄到风剑吗)

请用语音读文章魔兽世界风剑魔兽世界8.0版本开放之后60年代的副本并没有任何改动。[...

发表评论

您的电子邮箱地址不会被公开。