登录  /  注册
博主信息
博文 32
粉丝 0
评论 0
访问量 23216
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
实战COOKIE登入验证——2018年9月10日15点51分
Nevermore的博客
原创
905人浏览过

实例

<?php
$title='登入';
 include 'inc/header.html';

 ?>
<style>
    form{width: 600px;font-size: 14px;margin: 0 auto;}
    fieldset{margin: 15px auto;text-align: left;width: 600px;border-radius: 5px;}
    legend{border: 1px solid black;padding: 3px 12px;font-weight: bold;clear: both;}
    input{margin-right: 10px; width: 150px; height: 20px;line-height: 20px;border: 1px solid black;}
    label{width: 140px;float: left;text-align:right;line-height: 20px;}
    p.enter{text-align: center;}
    p.enter input{width: 60px;line-height: 25px;height: 25px;position: relative;left: -80px;}
</style>

<form action="" method="post">
       <fieldset  >
           <legend>用户登入</legend>
    <p><label for="user">账户名:</label>
    <input type="text" name="user" id="user" value="" placeholder="账号/手机/邮箱"> </p>
    <p><label for="password">密码:</label>
        <input type="password" name="password" id="password" value="" placeholder="密码区分大小写"> </p>
           <p class="enter"><input type="submit" name="submit" value="提交">
       </fieldset>
</form>

<?php
include 'inc/footer.html';
?>


 <?php
 if ($_SERVER['REQUEST_METHOD']=='POST')
 {
     $user=$_POST['user'];
     $password=$_POST['password'];
     include 'inc/function.php';
     list($info,$data)= check_user($db,$user,$password);
     if($info)
     {
         setcookie('id',$data['id'],time()+3600);
         setcookie('name',$data['name'],time()+3600);
         redirect($page='loggedin.php');
     }
     else {
           $errors=$data;
         }
 }
 if (isset($errors) && !empty($errors)) {
     $errors_msg = '<p style="color:red;text-align: center">';
     foreach ($errors as $msg) {
         $errors_msg .= $msg .'<br>';
     }
     echo $errors_msg .'</p>';
 }
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

QQ图片20180910155408.pngQQ图片20180910155438.png

setcookie(name,value,expire,path,domain,secure)

name 必需。规定 cookie 的名称。

value 必需。规定 cookie 的值。

expire 可选。规定 cookie 的有效期。

path 可选。规定 cookie 的服务器路径。

domain 可选。规定 cookie 的域名。

secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。



超全局变量$_COOKIE['name']  访问cookie值


删除cookie

setcookie('username','admin',time()-3600);

设置一个过去的时间


(登录验证过程)

判断用户是否登入  判断cookie 中是否存在变量,有就是登录,没有就没有登录

isset($_cookie['name']) &&(basename(_FILE_)!='logout.php');             (为什么要判断是不是在退出页?)



输入的表单信息提交和刷新不会丢失  粘性表单 <input> 中value值


redirect_user(loggedin.php)



用session 前先开启会话 session_start();

设置session $_SESSION['名字']=值;

session_destroy();删除服务器上的session

setcookie('PHPSESSID','',time()-3600); 删除浏览器上的COOKIE

session 默认时间是1440秒


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学