博客列表 >php之cookie初体验

php之cookie初体验

Serendipity-Ling
Serendipity-Ling原创
2018年01月07日 16:13:38663浏览

QQ图片20180107160953.png

<?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>


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议