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 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送信息的量也有限制。

 <html>
<head>
<meta charset="utf-8">
<title>get提交值</title>
</head>
<body> <form action="getPage.php" method="get">
名字: <input type="text" name="gName">
年龄: <input type="text" name="gAge">
<input type="submit" value="提交">
</form> </body>
</html>

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

 欢迎 <?php echo $_GET["gName"]; ?>!<br>
你的年龄是 <?php echo $_GET["gAge"]; ?> 岁。

  2、post提交

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

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

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

 <html>
<head>
<meta charset="utf-8">
<title>post提交值</title>
</head>
<body> <form action="postPage.php" method="post">
名字: <input type="text" name="pName">
年龄: <input type="text" name="pAge">
<input type="submit" value="提交">
</form> </body>
</html>

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

 欢迎 <?php echo $_POST["pName"]; ?>!<br>
你的年龄是 <?php echo $_POST["pAge"]; ?> 岁。

三、多个页面之间保持值

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

  1、session保存数据

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

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

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

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

 <?php session_start();
// 存储 session 数据
$_SESSION['viewCount']=1;
?> <html>
<head>
<meta charset="utf-8">
<title>session保持数据值</title>
</head>
<body> <?php
// 取出 session 数据
echo "浏览量:". $_SESSION['viewCount'];
?> </body>
</html>

  2、cookie保存数据

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

   setcookie() 函数用于设置 cookie。

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

  语法如下

 //name存储的键名
//value存储的键值
//expire存储的超时时间
//path存储的位置
//domain存储区别的域名
setcookie(name, value, expire, path, domain);

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

 <?php
// 输出 cookie 值
echo $_COOKIE["user"]; // 查看所有 cookie
print_r($_COOKIE);
?>

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

 <?php
// 设置 cookie 过期时间为过去 1 小时
setcookie("user", "", time()-3600);
?>

  ok,到此结束!

php从入门到放弃系列-04.php页面间值传递和保持的更多相关文章

  1. php从入门到放弃系列-01.php环境的搭建

    php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...

  2. [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world

    [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world 原文链接:http://www.cnblogs.com/blog5277/ ...

  3. [大数据从入门到放弃系列教程]第一个spark分析程序

    [大数据从入门到放弃系列教程]第一个spark分析程序 原文链接:http://www.cnblogs.com/blog5277/p/8580007.html 原文作者:博客园--曲高终和寡 **** ...

  4. php从入门到放弃系列-03.php函数和面向对象

    php从入门到放弃系列-03.php函数和面向对象 一.函数 php真正的威力源自它的函数,内置了1000个函数,可以参考PHP 参考手册. 自定义函数: function functionName( ...

  5. php从入门到放弃系列-02.php基础语法

    php从入门到放弃系列-02.php基础语法 一.学习语法,从hello world开始 PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器&qu ...

  6. K8S从入门到放弃系列-(16)Kubernetes集群Prometheus-operator监控部署

    Prometheus Operator不同于Prometheus,Prometheus Operator是 CoreOS 开源的一套用于管理在 Kubernetes 集群上的 Prometheus 控 ...

  7. K8S 从入门到放弃系列文章目录(Kubernetes 1.14)

    1)软件环境 软件 版本 系统 Centos7.5 Kubernetes 1.14.1 Docker 18.09 Calico 3.6 Etcd 3.3.12 2)部署过程简单概要 三台master节 ...

  8. 爬虫入门到放弃系列07:js混淆、eval加密、字体加密三大反爬技术

    前言 如果再说IP请求次数检测.验证码这种最常见的反爬虫技术,可能大家听得耳朵都出茧子了.当然,也有的同学写了了几天的爬虫,觉得爬虫太简单.没有啥挑战性.所以特地找了三个有一定难度的网站,希望可以有兴 ...

  9. WPF从入门到放弃系列第二章 XAML

    本文是作者学习WPF从入门到放弃过程中的一些总结,主要内容都是对学习过程中拜读的文章的整理归纳. 参考资料 XAML 概述 (WPF):https://msdn.microsoft.com/zh-cn ...

随机推荐

  1. 1090. [SCOI2003]字符串折叠【区间DP】

    Description 折叠的定义如下: 1. 一个字符串可以看成它自身的折叠.记作S  S 2. X(S)是X(X>1)个S连接在一起的串的折叠.记作X(S)  SSSS…S(X个S). ...

  2. 1001. [BJOI2006]狼抓兔子【最小割】

    Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一 ...

  3. 【转】Android 旋转动画,停止和持续旋转

    旋转180度后停止 RotateAnimation rotate; rotate =new RotateAnimation(0f,180f,Animation.RELATIVE_TO_SELF, 0. ...

  4. iPhone X进入DFU模式

    下面把iphoneX进dfu模式的方法分享给大家.在开机状态下,按一下音量加键后松开,然后按一下音量减键后松开,接着按住电源键,屏幕完全熄灭后,松开电源键,接着同时按住电源键和音量减,保持5秒左右,再 ...

  5. eclipse中文乱码解决

    1. 改变整个文件类型的编码格式 1)  eclipse->window->preferences->General->Content Types    2)  找到要修改的文 ...

  6. [转载]AVFormatContext结构体详细分析

        AVFormatContext描述一个媒体文件或媒体流的构成和基本信息. 这是FFMpeg中最为基本的一个结构,是其他所有结构的根,是一个多媒体文件或流的根本抽象.其中nb_streams和s ...

  7. css笔记--用户界面样式

    1.系统字体,系统颜色.根据关键字设置为系统某方面相同的字体和颜色 2.光标:鼠标移入时光标的不同显示方法,有十字键,手型:cursor:pointer;cursor:hand;要按顺序,cursor ...

  8. Map的复制

    Map的复制不可以直接使用=赋值 Map<String,Object> map1 = new HashMap<String,Object>(); Map<String,O ...

  9. 时间序列深度学习:seq2seq 模型预测太阳黑子

    目录 时间序列深度学习:seq2seq 模型预测太阳黑子 学习路线 商业中的时间序列深度学习 商业中应用时间序列深度学习 深度学习时间序列预测:使用 keras 预测太阳黑子 递归神经网络 设置.预处 ...

  10. Verilog中使用'include实现参数化设计

    前段时间在FPGA上用Verilog写了一个多端口以太网的数据分发模块,因为每个网口需要独立的MAC地址和IP地址,为了便于后期修改,在设计中使用parameter来定义这些地址和数据总线的位宽等常量 ...