
<?php
error_reporting(E_ALL ^ E_NOTICE); //屏蔽Notice级别的错误
//建立错误数组
$error=[];
//让表单先本页提交,进行验证
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (empty($_POST['name']))
{
$error[0]= '用户名不能为空!'; //把错误信息写入错误数组,下标为0
}else
{
$name = htmlspecialchars(trim($_POST['name']));
}
if (empty($_POST['password']))
{
$error[1] = '密码不能为空!'; //把错误信息写入$error数组,下标为1
}else
{
$password = htmlspecialchars(trim($_POST['password']));
}
//进行后端验证
//1连接数据库,采用pdo连接
//2.进行查询,如果匹配,登录成功
if ($name && $password)
{
//1连接查询操作
try
{
//1.1 数据源$dsn ,登录数据库的用户名和密码
$dsn = 'mysql:host=localhost; dbname=demo1';
$dbUser = 'root';
$dbPsd = 'root';
//1.2 new一个pdo对象
$pdo = new PDO($dsn,$dbUser,$dbPsd);
//1.3 查询语句
$sql = "SELECT `name`,`psd` FROM `userLog` WHERE `name`=:name AND `psd`=sha1(:password )";
//1.4 生成预处理对象,绑定参数
$pdoStmt = $pdo->prepare($sql);
$pdoStmt->bindParam(':name',$name,PDO::PARAM_STR);
$pdoStmt->bindParam(':password',$password,PDO::PARAM_STR);
//1.5执行
$result = $pdoStmt->execute();
//$result为真进行下一步
if ($result == true)
{
//如果查询到的记录为一条则用户登录成功
if ($pdoStmt->rowCount() == 1)
{
//把用户信息写入cookie
setcookie('name',$name,time()+60*60,'/logDemo/index_log.php');
setcookie('password',sha1($password),time()+60*60,'/logDemo/index_log.php');
echo '<script>alert("登录成功");location.href="admin.php"</script>';
}else
{
echo '<script>alert("用户名或密码错误,请重新输入!");history.back()</script>';
}
}else
{
print_r($pdoStmt->errorInfo());
}
}catch (PDOException $e)
{
//如果连接失败,输出错误信息
echo $e->getMessage();
//数据库连接失败,退出
die('数据库连接失败,已退出!');
}
}else
//这里不应再写弹出语句,因为只要刚刚打开网站$name && $password必然为假
{
define('NOTE','请仔细检查你所要填的语句哦~~');
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="dist/css/bootstrap.css">
<script src="jquery-3.2.1.js"></script>
<script src="dist/js/bootstrap.js"></script>
<style>
.form-control {
border: none;
border-bottom: 1px solid #31b0d5;
}
.row {
margin-top: 100px;
}
</style>
<title>欢迎登录</title>
</head>
<body>
<div class="container">
<div class="row " align="center">
<h3 align="center">欢迎登录<small>Login</small></h3>
<form class="form-horizontal col-sm-offset-4 col-sm-4" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<div class="form-group">
<div class="col-sm-12">
<input type="text" class="form-control" id="userName" name="name" placeholder="userName">
</div>
<P class="col-sm-12" align="center" ><?php empty($error[0])? null:print_r($error[0]) ?></P>
</div>
<div class="form-group">
<div class="col-sm-12">
<input type="password" class="form-control" id="Password" name="password" placeholder="Password">
</div>
<P class="col-sm-12" align="center" ><?php empty($error[1])? null:print_r($error[1]) ?></P>
</div>
<div class="form-group">
<div class="col-sm-12">
<button type="submit" class="btn btn-block btn-primary">登录</button>
</div>
<P class="col-sm-12" align="center" ><?php echo NOTE ?></P>
</div>
</form>
</div>
</div>
</body>
</html>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号