<?php
/**
* 当前为登录页面,---附件包括php登录与验证页面,成功后的跳转页面,users数据库表
* 链接数据库的用户名和密码需要自己填写设置
* 功能描述:有2个或多个字段的用户登录表单,点击按钮后提交到后端PHP,判断是否登陆成功。
* Tips:尝试使用HTML编写一个Form表单,使用POST或GET方式提交。后端PHP接受提交的内容,然后去数据库查询。
* Tips:尝试修复SQL注入漏洞。
*/
function post_back(){
//提示信息
global $tips;
//校验参数完整性
if(empty($_POST['username'])){
$tips = "请输入用户id";
return;
}
//此时将类型转换为int,防止sql字符串拼接注入
$username = (integer)$_POST['username'];
if(empty($_POST['password'])){
$tips = '请输入密码';
return;
}
$password = $_POST['password'];
//数据都合法,进入数据库查询判断,本题使用mysql,
//数据库名people,
//有表users,
//表中字段有id: int; username: int; password: varchar(16)
$link = @mysqli_connect('localhost', 'you_name', 'you_password', 'people');
if(!$link){
$tips = "无法连接数据库";
@mysqli_close($link);
return;
}
$result_data = mysqli_query($link, "SELECT `username`, `password` FROM `users` where `username`=$username;");//$username = 1111 or 1=1
//查询无结果则没有该用户
if(mysqli_num_rows($result_data) == 0){
$tips = '没有该用户!!!';
@mysqli_free_result($result_data);
@mysqli_close($link);
return;
}
//有该用户,读取查询的结果集
while($data = mysqli_fetch_assoc($result_data)){
if ($data['password'] != $password) {
$tips = '密码不正确!!';
@mysqli_free_result($result_data);
@mysqli_close($link);
return;
} else {
//登录成功跳转页面
header('Location: ./logined.html');
}
}
}
//必须以post方式提交时,才进行表单验证
if($_SERVER['REQUEST_METHOD'] === 'POST'){
post_back();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录页面</title>
<style>
td {
width: 100px;
height: 30px;
text-align: center;
}
</style>
</head>
<body>
<h1>登录页面</h1>
<!-- 登陆表单,提交给本页面,post方式 -->
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="1">
<tbody>
<tr>
<td>用户id</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="登录"></td>
</tr>
</tbody>
</table>
</form>
<!-- 提示信息 -->
<?php if (isset($tips)): ?>
<p><?php echo $tips ?></p>
<?php endif ?>
</body>
</html>
<!DOCTYPE html>
<!-- 登陆成功后的页面 -->
<html>
<head>
<meta charset="UTF-8">
<title>欢迎</title>
</head>
<body>
<h1>登陆成功,欢迎您!!</h1>
</body>
</html>
打赏我,让我更有动力~
1.4猪骑士作业提交.rar 文件大小:0.004M (下载次数:2)
© 2016 - 2024 掌控者 All Rights Reserved.
Track-方丈
发表于 2018-9-3
通过,金币奖励已发放。
代码很规范,思路清晰。
——周末未上班,让您久等了。
评论列表
加载数据中...