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 数组中的键):

1 欢迎 <?php echo $_GET["gName"]; ?>!<br>
2 你的年龄是 <?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);
?>

以上所述是小编给大家介绍的PHP页面间传递值和保持值的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • PHP中利用sleep函数实现定时执行功能实现代码

    在一些竞猜的网站中,如果我们需要做一个定时执行的功能,比如有一道题,在十秒之内要完成,否则显示"您已超时",如果完成,则跳转到下一道题上面,而这中间有一个十秒的停顿,这样的功能是怎样实现的呢? 在PHP中,有一个sleep函数,大概意思是程序执行遇到sleep函数时暂停N秒后继续往下执行.如sleep(10)意思就是程序自上往下执行,遇到sleep(10)语句后暂停十秒,然后继续往下执行.函数括号内的参数是一个数值,代表暂停时间值,单位秒.请看下面一段代码: <?php // c

  • PHP输入流php://input介绍

    对一php://input介绍,PHP官方手册文档有一段话对它进行了很明确地概述. "php://input allows you to read raw POST data. It is a less memory intensive alternative to $HTTP_RAW_POST_DATA and does not need any special php.ini directives. php://input is not available with enctype=&quo

  • php输入流php://input使用示例(php发送图片流到服务器)

    从官网信息来看,php://input是一个只读信息流,当请求方式是post的,并且enctype不等于"multipart/form-data"时,可以使用php://input来获取原始请求的数据. 看一个简单的例子. 客户端就是一个表单,非常简单. 复制代码 代码如下: <form action="" method="POST">    name: <input type="text" name=&qu

  • php输入流php://input使用浅析

    在做一个摄像头拍照然后上传的功能,php中使用php://input来获取内容.于是就了解了下php://input. 从官网信息来看,php://input是一个只读信息流,当请求方式是post的,并且enctype不等于"multipart/form-data"时,可以使用php://input来获取原始请求的数据. 看一个简单的例子. 客户端就是一个表单,非常简单. 复制代码 代码如下: <form action="" method="POST

  • PHP中explode函数和split函数的区别小结

    一.前言 之所以做这个,是因为这两个函数的作用很像,都是把字符串转换成数组. 二.explode 从下面的例子可以看出,生成的数组是有对应的顺序的. $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0]; // piece1 echo $pieces[1]; // piece2 // 示例 2 $data = &quo

  • PHP sleep()函数, usleep()函数

    PHP sleep() 函数 定义和用法 sleep() 函数延迟代码执行若干秒. 语法sleep(seconds) seconds 必需.以秒计的暂停时间. 返回值 若成功,返回 0,否则返回 false. 错误/异常 如果指定的描述 seconds 是负数,该函数将生成一个 E_WARNING. 例子 <?php echo date('h:i:s') . "<br />"; //暂停 10 秒 sleep(10);//重新开始 echo date('h:i:s')

  • php 输入输出流详解及示例代码

    最近在学习http协议!为了更好理解http协议,看了一下nodejs的http的模块!感觉收获还是挺多的.比如我用http的request发一个请求: var options = { host: 'localhost', port: 80, path: '/backbone/data.php', method: 'POST' }; var req = http.request(options, function(res) { console.log('STATUS: ' + res.statu

  • php处理单文件、多文件上传代码分享

    php处理  单文件.多文件上传实例代码,供大家参考,具体内容如下 后台处理文件submit_form_process.php <?php /****************************************************************************** 参数说明: $max_file_size : 上传文件大小限制, 单位BYTE $destination_folder : 上传文件路径 $watermark : 是否附加水印(1为加水印,其他为不加

  • PHP输入流php://input实例讲解

    对于php://input介绍,PHP官方手册文档有一段话对它进行了很明确地概述. "php://input allows you to read raw POST data. It is a less memory intensive alternative to$HTTP_RAW_POST_DATA and does not need any special php.ini directives. php://input is not available with enctype="

  • 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 方法的表单

  • 微信小程序页面间传递数组对象方法解析

    这篇文章主要介绍了微信小程序页面间传递数组对象方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 方法1:A页面跳转链接添加参数,B页面onLoad 接收 方法2:设置全局变量 globalData,用的少,一般适用于全局共享的一份信息,如用户open_id等 // A页面 // 数组.对象都需要stringify var listData = JSON.stringify(that.data.listData) var taskArray

  • PHP页面间传递参数实例代码

    首先给大家介绍如何通过表单传值查询数据. 任务目标:在表单中输入部门名,查询出相应部门的人员信息. 先创建search.php文件. 第一步,插入一表单,在其中包含一个输入框,一个提交按钮.search.php文件内容如下所示: 复制代码 代码如下: <html>  <head>  </head>  <body>  <h3>Search</h3>  <form action="search_result.php&quo

  • Angular页面间切换及传值的4种方法

    本文实例为大家分享了Angular JS页面间切换及传值 的方法,供大家参考,具体内容如下Angular JS页面间切换及传值 1. 基于ui-router的页面跳转传参 (1) 在AngularJS的app.js中用ui-router定义路由,比如现在有两个页面,一个页面(producers.html)放置了多个producers,点击其中一个目标,页面跳转到对应的producer页,同时将producerId这个参数传过去. state('producers', { url: '/produ

  • Asp.net在页面间传递大量数据(数据表)建议采用的方法

    能让数据在 两个不同站点之间传递吗? 我现在是想A站点的数据 传递到B站点....... 建议使用Cache (1)不太影响程序性能不太可能,你都说了,是大量数据.我举个例子,你是从A.aspx传到B.aspx.那么如果有两个用户都会访问A,那你的数据是否要做到不会影响到不同的客户端?如果是这样的话,那么你存储的地方势必不能用Cache(不是绝对不能用,但是你必须区分客户端,你要做的工作更多),只能用Session, Cookies, ViewState, QueryString, Form等方

  • 详解react native页面间传递数据的几种方式

    1. 利用react-native 事件DeviceEventEmitter 监听广播 应用场景: - 表单提交页面, A页面跳转到B页面选人, 然后返回A页面, 需要将B页面选择的数据传回A页面. - 多个多媒体来回切换播放,暂停后二次继续播放等问题. 代码如下: A页面 componentDidMount() { // 利用DeviceEventEmitter 监听 concactAdd事件 this.subscription = DeviceEventEmitter.addListener

  • PHP在不同页面间传递Json数据示例代码

    gettest.php文件: 复制代码 代码如下: <?php $value["name"]= urlencode("我的姓名"); $value["pass"]= urlencode("pass888"); $value["age"]=30; $jsonstr =json_encode($value); $url="http://127.0.0.1:8080/get.php?id=100&

  • jsp中页面间传汉字参数转码的方法

    转码:a.href="./showCont.jsp?tcontent="+encodeURI(encodeURI(tcontent)); 解码:java.net.URLDecoder.decode((String)request.getParameter("tcontent"), "UTF-8"); 例 a.jsp源代码 复制代码 代码如下: <%@ page contentType="text/html; charset=gb2

  • ASP.NET中页面之间传递值的几种方式整理

    但是一般来说,常用的较简单有QueryString,Session,Cookies,Application,Server.Transfer.一.QueryString QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于传递数组或对象的话,就不能用这个方法了. 这种方法的优点:1.使用简单,对于安全性要求不高时传递数字或是文本值非常有效. 这种方法的缺点:1.缺乏安全性,由于它的

  • asp.net不同页面间数据传递的多种方法

    1. Get(即使用QueryString显式传递)方式:在url后面跟参数.特点:简单.方便.缺点:字符串长度最长为255个字符:数据泄漏在url中.适用数据:简单.少量.关键的数据.适用范围:传递给自己.传递给另一个目标页面:常用于2个页面间传递数据.用法:例如:url后加?UserID=-,跳转到目标页面,目标页面在伺服端可用Request.QueryString["InputText"]获取其指定参数值. 2. Post方式:通用的方式.利用form提交.特点:最常用的方法.常

随机推荐