Heim  >  Artikel  >  php教程  >  php从入门到放弃系列-04.php页面间值传递和保持

php从入门到放弃系列-04.php页面间值传递和保持

WBOY
WBOYOriginal
2016-08-25 10:20:471482Durchsuche

php从入门到放弃系列-04.php页面间值传递和保持

一、目录结构

 二、两次页面间传递值

  在两次页面之间传递少量数据,可以使用get提交,也可以使用post提交,二者的区别恕不赘述。

  1、get提交

  使用get提交来传递数据,在链接地址中修改发送到服务器的 URL 如下所示http://www.cnblogs.com/MarkRao/p/php01.html?gName=mark&gAge=26

  ,当然也可以在表单中设置method="get",php中接收get提交过来的数据值,使用预定义$_GET变量

  从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送信息的量也有限制。

<span style="color: #008080;"> 1</span> 
<span style="color: #008080;"> 2</span> 
<span style="color: #008080;"> 3</span> <meta charset="utf-8">
<span style="color: #008080;"> 4</span> <title>get提交值</title>
<span style="color: #008080;"> 5</span> 
<span style="color: #008080;"> 6</span> 
<span style="color: #008080;"> 7</span> 
<span style="color: #008080;"> 8</span> 
9 名字: 10 年龄: 11 12
13 14 15

  "getPage.php" 文件现在可以通过 $_GET 变量来收集表单数据了(请注意,表单域的名称会自动成为 $_GET 数组中的键):

<span style="color: #008080;">1</span> 欢迎 <?php <span style="color: #0000ff;">echo <span style="color: #800080;">$_GET</span>["gName"]; ?>!<br>
<span style="color: #008080;">2</span> 你的年龄是 <?php <span style="color: #0000ff;">echo <span style="color: #800080;">$_GET</span>["gAge"]; ?>  岁。

 

  2、post提交

  使用post提交来传递数据,在表单中设置method="post",php中接收post提交的数据值,使用预定义$_POST变量

  从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。

  注释:然而,默认情况下,POST 方法的发送信息的量最大值为 8 MB(可通过设置 php.ini 文件中的 post_max_size 进行更改)。

<span style="color: #008080;"> 1</span> 
<span style="color: #008080;"> 2</span> 
<span style="color: #008080;"> 3</span> <meta charset="utf-8">
<span style="color: #008080;"> 4</span> <title>post提交值</title>
<span style="color: #008080;"> 5</span> 
<span style="color: #008080;"> 6</span> 
<span style="color: #008080;"> 7</span> 
<span style="color: #008080;"> 8</span> 
9 名字: 10 年龄: 11 12
13 14 15

  "postPage.php" 文件现在可以通过 $_POST 变量来收集表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的键):

<span style="color: #008080;">1</span> 欢迎 <?php <span style="color: #0000ff;">echo <span style="color: #800080;">$_POST</span>["pName"]; ?>!<br>
<span style="color: #008080;">2</span> 你的年龄是 <?php <span style="color: #0000ff;">echo <span style="color: #800080;">$_POST</span>["pAge"]; ?>  岁。

 

三、多个页面之间保持值

  在多个页面之间保持数据,可以使用session保存,也可以使用cookie保存,二者的区别恕不赘述。

  1、session保存数据

  PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导

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

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

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

<span style="color: #008080;"> 1</span> <?php <span style="color: #008080;">session_start<span style="color: #000000;">();
</span><span style="color: #008080;"> 2</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 存储 session 数据</span>
<span style="color: #008080;"> 3</span> <span style="color: #800080;">$_SESSION</span>['viewCount']=1<span style="color: #000000;">; 
</span><span style="color: #008080;"> 4</span> ?>
<span style="color: #008080;"> 5</span> 
<span style="color: #008080;"> 6</span> 
<span style="color: #008080;"> 7</span> 
<span style="color: #008080;"> 8</span> <meta charset="utf-8">
<span style="color: #008080;"> 9</span> <title>session保持数据值</title>
<span style="color: #008080;">10</span> 
<span style="color: #008080;">11</span> 
<span style="color: #008080;">12</span> 
<span style="color: #008080;">13</span> <span style="color: #000000;">php
</span><span style="color: #008080;">14</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 取出 session 数据</span>
<span style="color: #008080;">15</span> <span style="color: #0000ff;">echo</span> "浏览量:". <span style="color: #800080;">$_SESSION</span>['viewCount'<span style="color: #000000;">];
</span><span style="color: #008080;">16</span> ?>
<span style="color: #008080;">17</span> 
<span style="color: #008080;">18</span> 
<span style="color: #008080;">19</span> 

 

  2、cookie保存数据

  cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。

    setcookie() 函数用于设置 cookie。

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

  语法如下

<span style="color: #008080;">1</span> <span style="color: #008000;">//</span><span style="color: #008000;">name存储的键名
</span><span style="color: #008080;">2</span> <span style="color: #008000;">//value存储的键值
</span><span style="color: #008080;">3</span> <span style="color: #008000;">//expire存储的超时时间
</span><span style="color: #008080;">4</span> <span style="color: #008000;">//path存储的位置
</span><span style="color: #008080;">5</span> <span style="color: #008000;">//domain存储区别的域名</span>
<span style="color: #008080;">6</span> <span style="color: #008080;">setcookie</span>(name, value, expire, path, domain);

  $_COOKIE 变量用于取回 cookie 的值。

<span style="color: #008080;">1</span> <span style="color: #000000;">php
</span><span style="color: #008080;">2</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 输出 cookie 值</span>
<span style="color: #008080;">3</span> <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$_COOKIE</span>["user"<span style="color: #000000;">];
</span><span style="color: #008080;">4</span> 
<span style="color: #008080;">5</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 查看所有 cookie</span>
<span style="color: #008080;">6</span> <span style="color: #008080;">print_r</span>(<span style="color: #800080;">$_COOKIE</span><span style="color: #000000;">);
</span><span style="color: #008080;">7</span> ?>


  当删除 cookie 时,您应当使过期日期变更为过去的时间点

<span style="color: #008080;">1</span> <span style="color: #000000;">php
</span><span style="color: #008080;">2</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 设置 cookie 过期时间为过去 1 小时</span>
<span style="color: #008080;">3</span> <span style="color: #008080;">setcookie</span>("user", "", <span style="color: #008080;">time</span>()-3600<span style="color: #000000;">);
</span><span style="color: #008080;">4</span> ?>

 

  ok,到此结束!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:沈逸老师PHP魔鬼特训笔记(1)Nächster Artikel:Yii2核心验证器