84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
我在A页面通过表单向B页面通过POST方法传递了一个值,比如$_POST['test'] = "learn"B页面接收到这个值以后,我想把这个值传递到C页面,同样用POST方法。我之前的做法是在B页面做一个<form>,里面的元素都是hidden类型,把从A页面得到的$_POST['test']再赋给这个表单,再通过POST方法传递到C页面。但是觉得这样太麻烦,有没有什么好的办法,可以在B页面不使用表单,把POST的值传递到C页面?
$_POST['test'] = "learn"
$_POST['test']
传递post值需要进行post模拟,可以有三种方式进行POST模拟:
curl
socket
file_get_contents
这三种方式的原理类似,都是模拟HTTP访问,并且将POST数据提交到服务器页面上。
curl进行post提交示例代码如下:
$ch = curl_init(); //初始化curl curl_setopt($ch, CURLOPT_URL,$postUrl);//指定post网页地址 curl_setopt($ch, CURLOPT_HEADER, 0);//设置header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且返回输出 curl_setopt($ch, CURLOPT_POST, 1);//post提交方式 curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); $data = curl_exec($ch);//运行curl curl_close($ch);
其中$curlPost为post字段,可以是字符串或者数组,字符串为 arg1=a&arg2=b&arg3=c 这样,数组类似 array('arg1' => 'a', 'arg2' => 'b', 'arg3' => 'c') 这样。
这个很简单,你可以用session来传递值,这样就保证了数据的持续可传递;同时页面也可以获取信息
1.我建议还是用memcache 或者 redis 缓存 存储
session,cookie都可以
用session或者cookie.当然你把数据写入数据库然后在另一个页面取出来也行。
session的话,先调用session_start()开启session。之后,一个页面对$_SESSION数组的某个键赋值,在另一个页面就能取出来。就好像$_SESSION这个数组能跨页面似的。
用localStorage吧。A页面把数据保存到localStorage中,B页面,C页面,只要在同域下的页面,都可以读取到。
使用session 或者用ajax
如果是做跳转,想提交到B页面时,B跳转到C,然后C可以接收到post数据那么B跳转到C时可以用307状态码跳转
header("xxxx",307);
传递post值需要进行post模拟,可以有三种方式进行POST模拟:
curl
socket
file_get_contents
这三种方式的原理类似,都是模拟HTTP访问,并且将POST数据提交到服务器页面上。
curl进行post提交示例代码如下:
其中$curlPost为post字段,可以是字符串或者数组,字符串为 arg1=a&arg2=b&arg3=c 这样,数组类似 array('arg1' => 'a', 'arg2' => 'b', 'arg3' => 'c') 这样。
这个很简单,你可以用session来传递值,这样就保证了数据的持续可传递;同时页面也可以获取信息
1.我建议还是用memcache 或者 redis 缓存 存储
session,cookie都可以
用session或者cookie.
当然你把数据写入数据库然后在另一个页面取出来也行。
session的话,先调用session_start()开启session。
之后,一个页面对$_SESSION数组的某个键赋值,在另一个页面就能取出来。
就好像$_SESSION这个数组能跨页面似的。
用localStorage吧。A页面把数据保存到localStorage中,B页面,C页面,只要在同域下的页面,都可以读取到。
使用session 或者用ajax
如果是做跳转,想提交到B页面时,B跳转到C,然后C可以接收到post数据
那么B跳转到C时可以用307状态码跳转