PHP会话控制
| Set-Cookie: NAME = VALUE; [expires = DATE;] [path = PATH;] [domain = DOMAIN_NAME;] [secure] |
| bool setcookie(string name [, string value [, int expire [, string path [, string domain [, int secure]]]]]) |
|
<?php
session_start();
if(isset ($_POST['userid' ]) && isset($_POST['password'])){
$userid = $_POST[ 'userid'];
$password = $_POST[ 'password'];
$db_conn = new mysqli('localhost' , 'root' , '' , 'test' );
if(mysqli_connect_error()){
echo "Connection to database failed:" . mysqli_connect_errno();
exit();
}
$query = "select * from authorized_users" . " where name = '$userid'" . "and password = ' $password'" ;
$result = $db_conn -> query($query);
if($result -> num_rows > 0){
$_SESSION[ 'valid_user'] = $userid;
}
$db_conn -> close();
}
?>
<html>
<body >
<h1 >Home Page </h1 >
<?php
if( isset($_SESSION[ 'valid_user'])){
echo 'You are logged in as: ' . $_SESSION['valid_user'] . '<br />' ;
echo '<a href="logout.php">Log out</a><br />';
} else {
if( isset($userid)){ //失败
echo 'Could not log you in.<br />';
} else {
echo 'You are not logged in.<br />';
}
}
echo '<form method="post" action="auto-main.php">
<table>
<tr>
<td>Userid:</td>
<td><input type="text" name="userid"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Log in"></td>
</tr>
</table>
</form>' ;
?>
<br />
<a href ="members-only.php"> Members section</ a>
</body >
</html>
|
|
<?php
session_start();
echo "<h1>Members only</h1>";
if(isset ($_SESSION['valid_user' ])){
echo "<p>You are logged in as " . $_SESSION['valid_user' ] . "</p>";
echo "<p>Member only content goes here </p>" ;
} else {
echo "<p>You are not logged in.</p>" ;
}
echo "<a href='auto-main.php'>Back to main page</p>";
?>
|
|
<?php
session_start();
$old_user = $_SESSION['valid_user'];
unset($old_user);
session_destroy();
?>
<html>
<body >
<h1 >Log out </h1 >
<?php
if(! empty($old_user)){
echo 'Logged out.<br />';
} else {
echo 'You were not logged in, and so have not been logged out.<br />';
}
?>
<a href ="auto-main.php"> Back to main page</ a>
</body >
</html>
|
(1) session_start() 初始化session,生命周期的开始。
PHP会话控制的更多相关文章
- 会话控制:session与cookie
我们在浏览网站时,访问的每一个web页面都需要使用"http协议"实现.而HTTP协议是无状态协议,就是说HTTP协议没有一个内建机制来维护两个事务之间的状态.当一个用户请求一个页 ...
- php 会话控制
会话控制 HTTP协议,在TCP协议基础上的HTTP协议称为无状态协议 SESSION COOKIE SESSION特点:1.存储在服务器.2.每个使用者都会生成一个SESSION.3.有默认的过期时 ...
- (实用篇)php通过会话控制实现身份验证实例
会话控制的思想就是指能够在网站中根据一个会话跟踪用户.这里整理了详细的代码,有需要的小伙伴可以参考下. 概述 http 协议是无状态的,对于每个请求,服务端无法区分用户.PHP 会话控制就是给了用户一 ...
- 会话控制:SESSION,COOKIE
1.http协议: HTTP—超文本传输协议,在TCP协议(长连接.像一个硬件)基础上; 特点:短连接,无状态协议,没法记录本次连接的状态;适用于静态页面的访问,对于后期某些页面是需要浏览器预知客户信 ...
- PHP之自定义会话控制---使用文件处理
前三篇简单的总结了下会话控制和文件操作,这一篇说说会话控制的自定义处理方式.既然知道了文件的基本读写,而且在会话控制中,也有人提到,session数据可以保存到缓存或数据库中,实际上当然不会是直接利用 ...
- PHP之会话控制小结
会话控制是一种跟踪用户的通信方式,使用会话控制主要基于以下几点:由于http协议的无状态性,使得不能通过协议来建立两次请求之间的关联:对于通常的页面之间的数据传递方式get和post而言,主要处理参数 ...
- php——会话控制
1.什么叫做会话控制 允许服务器根据客户端做出的连续请求. 2.为什么需要会话控制? 因为当你打开一个网站,并想访问该网站的其他页面的时候,如果没有会话控制,当跳转到其他页面的 时候,就需要再次输入账 ...
- PHP会话控制Session与Cookie
理解会话控制的概念: 阅读过HTTP协议相关资料的同学都会知道HTTP协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无状态协议,所谓无状态,指的是不会维护http请求数据,http请求是 ...
- (详细)php实现留言板---会话控制-----------2017-05-08
要实现留言功能,发送者和接受者必不可少,其次就是留言时间留言内容. 要实现的功能: 1.登录者只能查看自己和所有人的信息,并能够给好友留言 2.留言板页面,好友采取下拉列表,当留言信息为空时,显示提示 ...
- PHP中的会话控制
了解HTTP(超文本传输协议)可以知道,它采用请求与响应的模式,最大的特点就是无连接无状态. 无连接:每次连接仅处理一个客户端的请求,得到服务器响应后,连接就结束了 无状态:每个请求都是独立的,服务器 ...
随机推荐
- hive 学习系列一(数据类型的定义)
数字类型(Numeric Types) 整型 TINYINT(取值范围:-128 -- 127) SMALLINT(取值范围:-32,768 to 32,767) INT/INTEGER(取值范围: ...
- JDK学习---深入理解java中的String
本文参考资料: 1.<深入理解jvm虚拟机> 2.<大话数据结构>.<大话设计模式> 3.http://www.cnblogs.com/ITtangtang/p/3 ...
- 如何用管理员账户登录windows10
1.判断自己是否是管理员 在命令行中输入 whoami 只要显示不是 administrator 都不是管理员 2. 接着在命令行中输入 net user 可以查看这台电脑有多少个用户 ...
- C语言进阶—— 单引号和双引号14
单引号和双引号 C语言中的单引号用来表示字符字面量 C语言中的双引号用来表示字符串字面量 ‘a’表示字符字面量,在内存中占用一个字节,'a'+1表示'a'的ASCII码加1,结果为'b' " ...
- B1018 锤子剪刀布 (20分)
B1018 锤子剪刀布 (20分) 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势. 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. ...
- android stadio 打开别人的工程 一直在编译中
这是因为,他工程的gradle 配置,在你本地找不到,所以,会去网上下.然后解压,使用.这是一个很漫长的过程. *那么怎么做呢 修改项目工程的gradle/wrapper/gradle-wrapper ...
- Mybatis常用xml
工作中mybatis常用的xml代码 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ma ...
- Grub Rescue修复方法[repost]
From : http://www.2cto.com/os/201111/112327.html 症状:开机显示:GRUB loading error:unknow filesystem grub r ...
- 《Cracking the Coding Interview》——第18章:难题——题目13
2014-04-29 04:40 题目:给定一个字母组成的矩阵,和一个包含一堆单词的词典.请从矩阵中找出一个最大的子矩阵,使得从左到右每一行,从上到下每一列组成的单词都包含在词典中. 解法:O(n^3 ...
- 3dMax,Maya与FBX
3DMax下载地址(包含安装教程与注册方法):http://www.3d66.com/popsoft_1.html 3DMax已经自带导出为fbx格式的功能,所以无需安装fbx插件 Maya下载地址( ...