佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > PHP 實(shí)現(xiàn)超簡單的SESSION與COOKIE登錄驗(yàn)證功能示例

PHP 實(shí)現(xiàn)超簡單的SESSION與COOKIE登錄驗(yàn)證功能示例

熱門標(biāo)簽:阿里云 科大訊飛語音識別系統(tǒng) 團(tuán)購網(wǎng)站 Linux服務(wù)器 Mysql連接數(shù)設(shè)置 電子圍欄 銀行業(yè)務(wù) 服務(wù)器配置

本文實(shí)例講述了PHP 實(shí)現(xiàn)超簡單的SESSION與COOKIE登錄驗(yàn)證功能。分享給大家供大家參考,具體如下:

第一步,制作一個提交信息的表單頁面

這里我不過多敘述,都能懂的

把他命名為login.php

!DOCTYPE html>
html>
head>
 meta charset="utf-8">
 title>管理頁面登錄/title>
/head>
body>
 form action="index_do.php" method="post" >
 table>
  tr>
  td>
   用戶身份:
  /td>
  td>
   input type="radio" name="role" value="admin" />管理員
   input type="radio" name="role" value="teacher" />任職教師
   input type="radio" name="role" value="student" />學(xué)生
  /td>
  /tr>
  tr>
  td>
   label>
   用戶:
   /label>
  /td>
  td>
   input type="text" name="name" />
  /td>
  /tr>
  tr>
  td>
   label>
   密碼:
   /label>
  /td>
  td>
   input type="password" name="pas" />
  /td>
  /tr>
  tr>
  td style="text-align: center;" colspan="2">
   input type="submit" name="login" value="登錄" />
   input type="reset" name="reset" value="取消" />
  /td>
  /tr>
 /table>
 /form>
/body>
/html>

第二步,制作一個接受表單信息并且進(jìn)行判斷的php文件

在同目錄的文件夾里創(chuàng)建一個名為index_do.php

?php 
session_start();//啟用session
header("Content-type:text/html;charset=utf-8");//設(shè)置編碼格式為utf-8
date_default_timezone_set('PRC'); //調(diào)整時區(qū)
//判斷是否點(diǎn)擊了登錄按鈕
if (isset($_POST["login"])) {
 $name = $_POST["name"];//用戶名
 $pas = $_POST["pas"];//密碼
 $role = $_POST["role"];//用戶身份
 $time = date("Y:m:d H:i:s",time());//獲取登錄時的時間
 $ip = $_SERVER["SERVER_ADDR"];//接收ip位置
 //判斷是否為空
 if ($name==""$pas=="") {
 echo "script>alert('用戶名和密碼不能為空!')/script>";
 header("location:login.php");
 }else{
 //判斷用戶身份是否為管理員
 if ($role=="admin"$name=="Rarin") {
  //如果是管理員,并且用戶名是Rarin,那么則把他們輸入進(jìn)session里
  $_SESSION["name"] = $name;
  $_SESSION["pas"] = $pas;
  $_SESSION["role"] = $role;
  $_SESSION["ip"] = $ip;
  $_SESSION["time"] = $time;
  header("location:index.php"."?role=$role");//成功后返回index.php頁面并保存role值
 }elseif ($pas=="2002"($role=="teacher"||$role=="student")) {
  //不是管理員,是老師或者學(xué)生的時候,并且密碼為2002,那么把他們輸入進(jìn)cookie里
  setcookie("name",$name,time()+3600);//創(chuàng)建cookie并給他輸入值
  setcookie("pas",$pas,time()+3600);
  setcookie("role",$role,time()+3600);
  setcookie("ip",$ip,time()+3600);
  setcookie("time",$time,time()+3600);
  header("location:index.php"."?role=$role");
 }
 }
}
?>

第三步,創(chuàng)建一個信息文件

同目錄下創(chuàng)建一個名為index.php

?php
session_start();//啟用session
header("Content-type:text/html;charset=utf-8");
date_default_timezone_set('PRC'); //調(diào)整時區(qū)
?>
!DOCTYPE html>
html>
head>
 title>登陸成功/title>
/head>
body>
 ?php
 $role = $_GET["role"];//接收數(shù)據(jù)
 //判斷是否為管理員身份
 if ($role=="admin") {
 //判斷是否接收到了數(shù)據(jù),有,則以SESSION方式登錄
 if (!empty($_SESSION["time"])) {
  //以session方式輸出
  echo "您好,".$_SESSION["name"]."br>";
  echo "您的密碼:".$_SESSION["pas"]."br>";
  echo "您的ip:".$_SESSION["ip"]."br>";
  echo "SESSION登陸成功!您上次訪問的時間是:".$_SESSION["time"]."br>";
  echo "form>
  input type='submit' name='unlink' value='銷毀' />
  /form>";
 }else{
  echo "script>alert('未登錄!')/script>";
  header("location:login.php");
 }
 }elseif ($role=="teacher"||$role=="student") {
 //判斷是否接收到了數(shù)據(jù),有,則以COOKIE方式登錄
 if (!empty($_COOKIE["time"])) {
  //以cookie方式輸出
  echo "您好,".$_COOKIE["name"]."br>";
  echo "您的密碼:".$_COOKIE["pas"]."br>";
  echo "您的ip:".$_COOKIE["ip"]."br>";
  echo "COOKIE登陸成功!您上次訪問的時間是:".$_COOKIE["time"]."br>";
  echo "form>
  input type='submit' name='unlinkCok' value='銷毀' />
  /form>";
 }else{
  echo "script>alert('未登錄!')/script>";
  header("location:login.php");
 }
 }else{
 echo "script>alert('非法用戶!')/script>";
 header("location:login.php");
 }
 ?>
/body>
/html>

知識點(diǎn):

 1.session_start()函數(shù)啟用session
 2.date_default_timezone_set('PRC')調(diào)整為北京時間
 3.$_SERVER["SERVER_ADDR"]接收ip地址
 4.header("location:index.php"."?role=$role")將這個值保存到index.php文件里

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP中cookie用法總結(jié)》、《php緩存技術(shù)總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》及《php字符串(string)用法總結(jié)》

希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • php7 list()、session及其他模塊的修改實(shí)例分析
  • PHP7創(chuàng)建銷毀session的實(shí)例方法
  • PHP 圖像處理與SESSION制作超簡單驗(yàn)證碼的方法示例
  • PHP cookie與session會話基本用法實(shí)例分析
  • 如何解決PHP獲取不到SESSION信息之一般情況
  • thinkphp 5框架實(shí)現(xiàn)登陸,登出及session登陸狀態(tài)檢測功能示例
  • php實(shí)現(xiàn)多站點(diǎn)共用session實(shí)現(xiàn)單點(diǎn)登錄的方法詳解
  • PHP實(shí)現(xiàn)cookie跨域session共享的方法分析
  • PHP使用Session實(shí)現(xiàn)上傳進(jìn)度功能詳解
  • PHP SESSION跨頁面?zhèn)鬟f失敗解決方案

標(biāo)簽:衢州 棗莊 衡水 江蘇 萍鄉(xiāng) 大理 蚌埠 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP 實(shí)現(xiàn)超簡單的SESSION與COOKIE登錄驗(yàn)證功能示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    贺兰县| 阜平县| 自贡市| 临颍县| 永修县| 洛宁县| 灵山县| 象州县| 铜梁县| 鸡西市| 陇南市| 措美县| 禹州市| 象山县| 卢湾区| 北辰区| 应用必备| 巴林左旗| 武陟县| 通道| 铅山县| 兰州市| 寿阳县| 英吉沙县| 乌兰察布市| 肇源县| 龙岩市| 黄骅市| 荔浦县| 定日县| 竹溪县| 江达县| 宜城市| 卫辉市| 黎平县| 米脂县| 行唐县| 井陉县| 赫章县| 桓台县| 喀喇沁旗|