PHP+Mysql 实现最简单的注册登录
一、先将两个服务打开
二、创建数据库
create database test;
// 创建一个叫test的数据库
use test;
// 进入这个数据库
create table user(username varchar(50),password varchar(50));
// 创建一张user表,用来保存用户名和密码
三、编写用户登入页面
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登入</title>
</head>
<body>
<div>
<h4>登录</h4>
<form action="login.php" method="post">
<p><span>用户名: </span><input type="text" name="user" required=""></p>
<p><span>密码:</span><input type="text" name="pass" required=""></p>
<p><input type="reset" name=""/><input type="submit" name="" value="登录" /></p>
</form>
<a href="register.html">新用户注册</a>
</div>
</body>
</html>
四、编写登录后台处理页面
login.php:
<?php
//连接数据库,主机,用户名,密码,数据库
$con=mysqli_connect("localhost","root","root","test");
if(!$con)
{
die("error:".mysqli_connect_error());
// 判断是否成功,连接失败会输出error+错误代码
}
//把用户在index.html输入的账号和密码保存在$user和$pass两个变量中
$user=$_POST['user'];
$pass=$_POST['pass'];
//数据库查询语句,就是这样的查询方式存在着致命的SQL注入
$sql="select * from user where username='$user' and password='$pass'";
//查询结果保存在$res对象中
$res=mysqli_query($con,$sql);
//把$res转换成索引数组
$row=mysqli_fetch_array($res,MYSQLI_NUM);
// 数组不为空就显示登入成功
if(!is_null($row))
{
echo "登入成功";
}
else
{
echo "账号或密码错误<br>登录失败!";
}
?>
五、编写注册页面
register.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册前端</title>
</head>
<body>
<div>
<form action="register.php" method="post">
<p><span>用户名:<input type="text" name="user" required=""></span></p>
<p><span>密码:<input type="text" name="pass" required=""></span></p>
<input type="reset" name=""><input type="submit" name="Submit" value="注册">
</form>
<a href="index.html">已注册</a>>
</div>
</body>
</html>
六、编写注册页后端
register.php:
<?php
$conn = mysqli_connect('localhost' , 'root' , 'root' , 'test');
if(!$conn)
{
die("连接失败" . mysqli_error($conn));
}
$user = $_POST['user'];
$pass = $_POST['pass'];
$sql = "INSERT INTO user values('{$user}' , '{$pass}')";
$res = mysqli_query($conn , $sql);
if(!$res)
{
die("cannot insert " . mysqli_error($conn));
}
echo "注册成功<br>";
echo "<a href='index.html'>登录</a>";
?>