搜尋
首頁php教程php手册php 简单的登入登出实例程序(session)

php 简单的登入登出实例程序(session)

Jun 13, 2016 am 09:51 AM
phpsession一般使用實例我們登出程式簡單

利用php实例登入登出我们一般会借助于session来保存记录用户登录成功的信息,然后退出时我们再使用unset来清除session即可实现用户登入登出功能了,下面我来介绍一个简单的实例。

关于会话处理

HTTP 是一种无状态的协议,说明每次请求的处理都与之前或之后的 请求无关,但是为了能够调整用户特有的行为和首选项,出现了一种在客户端存储少量信息(常称为cookie)的实践,但由于 cookie 大小的限制、所允许的 cookie 数量以及 cookie 的实现上的各种不一致,出现了另外一种解决方案:会话处理。

会话处理的实现方式是为每位网站访问者分配一个称之为会话 ID(SID)的唯一标识属性,然后将此 SID 与任意数量的数据关联。

开始会话

session_start();

创建会话变量

 代码如下 复制代码

$_SESSION['username'] = “jason”;

删除会话变量

 代码如下 复制代码
unset($_SESSION['username']);

简单的登入登出

 代码如下 复制代码

$supervisor = "admin";
$superpsw = "passwd";

// 检查是否提交表单
if (isset($_POST['superadmin']))
{
if (!($_POST['supername'] == $supervisor) || !($_POST['superpass'] == $superpsw))
{
echo "用户名或密码错误";
exit;
}
else
{
session_start();
$_SESSION["superlogin"] = $_POST['supername'];
}
} else {
session_start();
// 检查是否设置了会话变量,即是否已经登入,如果没有,显示登入页面
if (! isset($_SESSION["superlogin"]) )
{
echo "

";
echo "
请输入管理员密码
";
echo "管理员";
echo "
";
echo "密  码";
echo "
";
echo "
";
echo "
";
echo "
";
exit;
}
}
// 由用户销毁会话变量,登出
if (isset($_GET['logout'])) {
unset($_SESSION['superlogin']);
header("Location:index.php");
}

假设将此文件命名为include.php,将其包含到要验证登入的页面即可,例如 index.php

 代码如下 复制代码

        require “include.php”;
    ?>
   
   


    管理
   
   
   
   

登出
   

欢迎进入


   
   

如此访问 index.php 页面时将进入登入页面,登录后显示 index.php 页面内容,这个过程一直持续到用户结束会话,如关闭浏览器或点击注销按钮,但是会话本身在PHP服务器有一个默认的生存期。

有效会话的持续时间由 php.ini 所控制,默认为1440秒,即24分钟

    session.gc_maxlifetime = 1440

PS:本文是个范例,用简单的代码来做说明,实际应用中会采用更加复杂的控制机制。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。