登录界面plus(实现注册和验证功能)(并不安全)
登录界面由php和sql共同完成。
- html界面
首先是两个html界面:登录界面,注册界面,上代码:
登录界面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
</head>
<body>
<h2>登录界面</h2>
<form action="loginaf1.php" method="post" >
用户:<input type="text" name="username"/><br>
密码:<input type="password" name="password"><br>
<input type="submit" name="submit" value="提交" >
<input type="button" value="注册" onclick="location.href='register.html'">
</form>
</body>
</html>
注册界面:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
</head>
<body>
<h2>注册界面</h2>
<form action="register.php" method="post" >
新用户:<input type="text" name="username"/><br>
设置密码:<input type="password" name="password"><br>
<input type="submit" name="submit" value="提交" >
</form>
</body>
</html>
数据的传递都由form表单实现。时间问题没有使用更好看的bootstrap,仅实现功能吧。
- php+sql实现功能
先上验证登录代码:
<?php
$link=mysqli_connect("localhost","root","123456","test01");
$name=trim($_POST['username']);
$password=trim($_POST['password']);
$sql="select * from user where name='$name'&&passw=$password ";
$result=mysqli_query($link,$sql);
$row=mysqli_fetch_assoc($result);
if($row!=null){
echo $name;
echo ",welcome";}
else
echo "sorry";
- $link=mysqli_connect(“localhost”,“root”,“123456”,“test01”); ————————连接数据库
- if之前的三行——————查询数据库中是否有登录界面传来的数据,也就是验证用户名和密码的过程
-if语句————————如果$row值查询成功,welcome,查询失败,sorry.
接下来是注册功能的代码:
<?php
header("Content-type:text/html;charset=utf-8");
$link=mysqli_connect("localhost","root","123456","test01");
$name=trim($_POST['username']);
$password=trim($_POST['password']);
$sql1="select * from user where name='$name'";
$result=mysqli_query($link,$sql1);
$row=mysqli_fetch_assoc($result);
if($row!=null){
echo '用户名已存在';
header("Refresh:2;url=register.html");}
else{
$sql2="insert into user(name,passw) values('$name',$password)";
$result2=mysqli_query($link,$sql2);
echo "注册成功,请登录";
header("Refresh:2;url=login.html");
}
link数据库后,先用验证登录的方法检查有没有重复的用户名,有则不写入数据库,告知用户名已存在
header(“Refresh:2;url=register.html”);
并以此延迟2秒跳转至注册界面。
如果没有重复用户名,则用$sql2的语句将注册的用户名和密码写入数据库。告知注册成功,延迟2秒回到登录界面登录。
- sql数据库
我做这次作业的表里只有name和passw两个字段和一个无用的id字段,建表时对字段的权限之类的设置我还没搞明白,慢慢学吧。。这是一顿测试之后我最终的数据库user表:
我以为id会自动++,结果并没有。
先这样,下面演示
注册+登录