84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
我在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状态码跳转