知识大全 php中如何同时使用session和cookie来保存用户登录信息

Posted

篇首语:浪再高,也在船底;山再高,也在脚底。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 php中如何同时使用session和cookie来保存用户登录信息相关的知识,希望对你有一定的参考价值。

本篇文章是对在php中同时使用session和cookie来保存用户登录信息的实现代码进行了详细的分析介绍 需要的朋友参考下  

  同时使用session和cookie来保存用户登录信息 数据库连接配置页面 connectvars php

复制代码 代码如下: <?php //数据库的位置 define( DB_HOST ); //用户名 define( DB_USER root ); //口令 define( DB_PASSWORD ); //数据库名 define( DB_NAME test ) ; ?>

   登录页面 logIn php

复制代码 代码如下: <?php //插入连接数据库的相关信息 require_once connectvars php ; //开启一个会话 session_start(); $error_msg = ""; //如果用户未登录 即未设置$_SESSION[ user_id ]时 执行以下代码 if(!isset($_SESSION[ user_id ]))     if(isset($_POST[ submit ]))//用户提交登录表单时执行如下代码         $dbc = mysqli_connect(DB_HOST DB_USER DB_PASSWORD DB_NAME);         $user_username = mysqli_real_escape_string($dbc trim($_POST[ username ]));         $user_password = mysqli_real_escape_string($dbc trim($_POST[ password ]));         if(!empty($user_username)&&!empty($user_password))             //MySql中的SHA()函数用于对字符串进行单向加密             $query = "SELECT user_id username FROM mismatch_user WHERE username = $user_username AND " "password = SHA( $user_password )";             $data = mysqli_query($dbc $query);             //用用户名和密码进行查询 若查到的记录正好为一条 则设置SESSION和COOKIE 同时进行页面重定向             if(mysqli_num_rows($data)== )                 $row = mysqli_fetch_array($data);                 $_SESSION[ user_id ]=$row[ user_id ];                 $_SESSION[ username ]=$row[ username ];                 setcookie( user_id $row[ user_id ] time()+( * * * ));                 setcookie( username $row[ username ] time()+( * * * ));                 $home_url = loged php ;                 header( Location: $home_url);             else//若查到的记录不对 则设置错误信息                 $error_msg = Sorry you must enter a valid username and password to log in ;                     else             $error_msg = Sorry you must enter a valid username and password to log in ;             else//如果用户已经登录 则直接跳转到已经登录页面     $home_url = loged php ;     header( Location: $home_url); ?> <>     <head>         <title>Mismatch Log In</title>         <link rel="stylesheet" type=text/css href="style css" />     </head>     <body>         <h >Msimatch Log In</h >         <! 通过$_SESSION[ user_id ]进行判断 如果用户未登录 则显示登录表单 让用户输入用户名和密码 >         <?php         if(!isset($_SESSION[ user_id ]))             echo <p > $error_msg </p> ;         ?>         <! $_SERVER[ PHP_SELF ]代表用户提交表单时 调用自身php文件 >         <form method = "post" action="<?php echo $_SERVER[ PHP_SELF ];?>">             <fieldset>                 <legend>Log In</legend>                 <label for="username">Username:</label>                 <input type=text id="username" name=username                 value="<?php if(!empty($user_username)) echo $user_username; ?>" />                 <br/>                 <label for="password">Password:</label>                 <input type=password id="password" name=password/>             </fieldset>             <input type=submit value="Log In" name=submit/>         </form>         <?php                 ?>     </body> </>

   效果图

   登入页面 loged php

复制代码 代码如下: <?php //使用会话内存储的变量值之前必须先开启会话 session_start(); //如果会话没有被设置 查看是否设置了cookie if(!isset($_SESSION[ user_id ]))     if(isset($_COOKIE[ user_id ])&&isset($_COOKIE[ username ]))         //用cookie给session赋值         $_SESSION[ user_id ]=$_COOKIE[ user_id ];         $_SESSION[ username ]=$_COOKIE[ username ];     //使用一个会话变量检查登录状态 if(isset($_SESSION[ username ]))     echo You are Logged as $_SESSION[ username ] <br/> ;     echo <a href="logOut php"> Log Out( $_SESSION[ username ] )</a> ; /**在已登录页面中 可以利用用户的session如$_SESSION[ username ]  * $_SESSION[ user_id ]对数据库进行查询 可以做好多好多事情*/ ?>

   效果图 注销session与cookie页面 logOut php(注销后重定向到lonIn php)

复制代码 代码如下: cha138/Article/program/Java/JSP/201311/20469

相关参考

知识大全 session和cookie的最深刻理解

先说session   对SESSION的争论好象一直没有停止过不过幺麽能理解SESSION的人应该占以上但还是讲讲别嫌老~   有一些人赞

知识大全 ie与session丢失(新窗口cookie丢失)实测及解决方案

正如标题所言测试结果为如果cookie设置是延后定时失效而非进程级的那在open后也能看到所以针对此情况防止用户在使用ie内核出现登录状态丢失可以配合cookie来使用   今天在一个群中有

知识大全 解析php session

本篇文章是对php中session_set_save_handler函数的用法(mysql)进行了详细的分析介绍需要的朋友参考下 复制代码代码如下:<?php/*===========

知识大全 使用sqlserver来存放和取得session

  InProc  StateServer  SQLServer  第一种是我们经常用的第中就是使用一个名为stateserver的机器用它的内存来存放其他机器的session状态其实我们还可以在sq

知识大全 几种清除cookie有效方法(js,asp,php)

  几种清除cookie有效方法(网页特效asp教程php教程)网页特效设置cookie过期时间<scriptlanguage="网页特效">  functionsetcookie(nam

知识大全 ASP 操作cookies保存删除实例

ASP操作cookies保存删除实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Respon

知识大全 基于PHP创建Cookie数组的详解

基于PHP创建Cookie数组的详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本篇文章是对在P

知识大全 解析php通过cookies获取远程网页的指定代码

cha138/Article/program/PHP/201311/21255

知识大全 解析PHP的session过期设置

解析PHP的session过期设置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  网上很多人给出

知识大全 PHP session

PHPsession  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文将这些问题做一个简单的汇