php 快速入门(六)

一、前后台交互

1.1 $_GET

用来获取浏览器通过GET方法提交的数据

GET方法它是通过把参数数据加在提交表单的action属性所指的URL中,值和表单内每个字段一一对应,然后在URL中可以看到,但是有如下缺点

1. 安全性不好,在URL中可以看得到
2. 传送数据量较小,不能大于2KB

1.2 $_POST

用来获取浏览器通过POST方法提交的数据。

POST方法它是通过HTTP POST机制,将表单的各个字段放置在HTTP HEADER内一起传送到action属性所指的URL地址中,用户看不到这个过程。

他提交的大小一般来说不受限制,但是具体根据服务器的不同,还是略有不同。相对于GET方式安全性略高。

1.3 $_REQUEST

php中$_REQUEST可以获取以POST方法和GET方法提交的数据,但是速度比较慢

REQUEST["参数”]具有POST["参数"] GET["参数"]的功能,但是REQUEST["参数"]比较慢

通过post和get方法提交的所有数据都可以通过$_REQUEST数组["参数"]获得

案例:

";
    echo "第二个参数是$arg2
"; ?>

1.4 $_SERVER

$_SERVER 收到的数据,上一个数组类型的数据

数组中的元素,是基于关键字的方式进行索引

HTTP_HOST:客户端访问的域名
HTTP_USER_AGENT:客户端的浏览器
QUERY_STRINT:客户端传递的参数列表
REMOTE_ADDR:客户端的ip地址
SERVER_POST:服务器的端口号
SERVER_ADDR:服务端的地址
REQUEST_METHOD:客户端发生请求的方法:post和get
HTTP_REFERER:记录是从哪个页面跳转过来的

案例:

";
    echo "第二个参数是$arg2
"; echo $_SERVER['SERVER_ADDR']; echo "
"; echo $_SERVER['QUERY_STRING']; echo "
"; ?>

二、会话保持

2.1 session简介

http协议的特定

http协议是一个无状态的协议
无状态导致的问题:浏览器/服务器端无法记录客户端的登录状态

PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。

Session 用法说明

通过为每个独立用户分配唯一的会话 ID,可以实现针对不同用户分别存储数据的功能。会话通常被用来在多个页面请求之间保存及共享信息。一般来说,会话 ID 通过 Cookie 的方式发送到浏览器,并且在服务器端也是通过会话 ID 来取回会话中的数据。如果请求中不包含会话ID信息,那么 PHP 就会创建一个新的会话,并为新创建的会话分配新的 ID。

会话的工作流程很简单。当开始一个会话时,PHP 会尝试从请求中查找会话 ID(通常通过会话Cookie),如果请求中不包含会话 ID 信息,PHP 就会创建一个新的会话。会话开始之后,PHP 就会将会话中的数据设置到 $_SESSION 变量中。当 PHP 停止的时候,它会自动读取 $_SESSION 中的内容,并将其进行序列化,然后发送给回话保存处理程序来进行保存。

默认情况下,PHP使用内置的文件会话保存处理程序(files)来完成会话的保存。也可以通过配置项session.save_handler 来修改所要采用的会话保存处理程序。对于文件会话保存处理程序,会将会话数据保存到配置项 session.save_path 所指定的位置。

可以通过调用函数 session start() 来手动开始一个会话。如果配置项 session.auto start 设置为1,那么请求开始的时候,会话会自动开始。

PHP脚本执行完成之后,会话会自动关闭。同时,也可以通过调用函数 session write close() 来手动关闭回话。

2.2 session应用

在PHP中$_SESSION 的使用方法

  • 使用PHP应用session时,将session中的数据存储在服务器上,然后通过客户端传来的sessionID识别客户端的信息,并提取信息。

php中的session的常用操作:

session的写入、读取、注册与删除。

1. session 的开始

在您把用户信息存储到PHP session 中之前,首先必须启动回话。

注释:session_start() 函数必须位于标签之前:




    

    

这个代码会向服务器注册用户的会话,以便您开始保存用户信息,同时会为用户会话分配一个UID。

2. 存储 Session 变量

存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:




    
        
        xxxxxx
    
    
    
        
    

在下面的实例中,我们创建了一个简单的 page-view 计数器。isset()函数检测是否已设置“views”变量。如果已设置“views”变量,我们累加计数器。如果“views”不存在,则创建“views”变量,并把它设置为1:

销毁 Session

如果您希望删除某些Session数据,可以使用 unset() 或 session_destroy() 函数。

unset() 函数用于释放指定的 session 变量:

也可以通过调用 session_destroy() 函数彻底销毁 session:

2.3 Session登录认证

实现效果

  • index.html:前台登录页面
  • login.php:检查用户密码是否正确
  • msg.php:登录成功后显示的页面
  • logout.php:实现退出登录的文件

1. index.html




    
    首页



账号:
密码:
账号:
密码:

2. login.php

3. msg.php

";
        echo "这是后台页面

"; // 添加退出按钮 echo ' '; // 如果还没登录,那么就为假 } else { echo "请先登录"; // 跳转到登录页面 echo "5s后返回登录页面"; header("refresh:5;url=http://www.php001.com/index.html"); exit; } ?>

4. logout.php

你可能感兴趣的:(PHP,php,开发语言)