您的位置 首页 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 = my sql i_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.结果:

文章来源:智云一二三科技

文章标题:用PHP制作一个简单的注册登录页面

文章地址:https://www.zhihuclub.com/78046.shtml

关于作者: 智云科技

热门文章

网站地图