Blogger Information
Blog 32
fans 0
comment 0
visits 24041
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
实战COOKIE登入验证——2018年9月10日15点51分
Nevermore的博客
Original
934 people have browsed it

实例

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


Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post