包含php之间跨页传数组的词条
本文目录一览:
- 1、PHP中一个页面的数组如何传递到另一个页面?
- 2、如何将一个php页面的值传给另一个页面
- 3、php如何跳转页面传数组
PHP中一个页面的数组如何传递到另一个页面?
可以用session和表单两种方式都是先将数组序列化,然后取出后返序列化
1.session方式
?php
session_start();
$arr = array(1,2,3,4,5,6);
$arrse = serialize($arr);
$_SESSION['sessarr'] = $arrse;//序列化,对象或者数组都可以这样存放到session中
//如果你想使用session数据返回数组的话
$arr = unserialize($_SESSION['sessarr']);//反序列化
echo $_SESSION['sessarr'];
echo "br";
print_r($arr);
?
2.表单方式
form method="POST" action="1.php"
input type="hidden" name="post_data" value="?=base64_encode(serialize($arr))?" /
/form
1.php
?
print_r(base64_encode(unserialize($_POST['post_data'])));
?
如何将一个php页面的值传给另一个页面
办法很多:
第一种:GET(就是URL,也就是链接上带有参数),例子:
1.php(第一个页面)
a href="2.php?arr=abc"传递get数组名为arr,值是abc,传递到2.php页面
/a
看到?arr=abc了吧,这就是参数了,如果有两个呢:a href="abc.php?abc=abc123=123"传递get数组名为abc,值是abc
/a
用这个隔开,当然啦,在网页上看就是
2.php(第二个页面)
?php
echo $_GET['abc'];
//输出传递过来的值
-------------------------------------------------------------------------
第二个办法是:POST,表单提交,依旧是给例子:
form name="form1" method="post" action="2.php"
method的意思是以post方式提交到2.php,action的意思是动作,method是类型
随便输一个:
label
input type="text" name="val" /
input是html的标签,类型是文本域(输入文字),名字是val(后台用于接收的名称)
/label
p
label
input type="submit" name="Submit" value="提交" /
/label
/p
/form
2.php(第二个页面)
?php
echo $_POST['val'];
//输出上一个页面提交过来的val文本域的值。
?
-------------------------------------------------------------------------------------------
第三个办法是:SESSION,会话。还是给例子(注意,SESSION是全局变量,也就是说,它只要被声明,在所有页面都是可用的,前提是你不关闭网页或者没有到SESSION的生命周期。而POST和GET只要php执行完毕就会立刻被释放,也就没有了。):
1.php
?php
session_start();
//会话开始,这样你才可以调用session
$_SESSION['val']='123';
//直接声明全局变量val的值等于123
echo $_SESSION['val'];
?
a href="2.php"跳转到第二个页面去看看。
/a
2.php
?php
session_start();
echo $_SESSION['val'];
//直接输出全局变量val.
?
--------------------------------------------------------------------------------
最后一个办法,cookie。饼干,哈哈不过呢,这个办法不好用,因为cookie是存放在客户端上(也是全局变量),session是存放在服务器上。这是两者唯一的不同
然后捏,我也没用过cookies,所以呢。我只能百度一个给你咯,调用办法一样的$_COOKIE['名称']
?php
setcookie("user", "Alex Porter", time()+3600);
//创建一个名为user的cookie变量,它的值是Alex Porter。它将在一个小时以后过期,也就是不能访问了
echo $_COOKIE['user'];
//你还要刷新一下页面才可以生效= =。。
?
?
php如何跳转页面传数组
php跳转页面传数组的方法:
1、将数组转化成字符串,用特殊字符如“|”将数组的元素隔开,用普通的字符串参数传递
2、使用json方式传递参数
解析
C#后台得到的是个string
string objStr = HttpContext.Current.Request["objStr"];
objStr内容([{"0": "a", "1": "b", "2": "c", "3": "d"}, {"0": "aa", "1": "bb", "2": "cc", "3": "dd"}{"0": "aa", "1": "bb"}])
/// summary
/// 从JS数组中解析出JSON对象返回该对象的字符串表示
/// /summary
/// param name="ArrayStr"/param
/// returns/returns
private static string GetJsonStr(string ArrayStr)
{
//ArrayStr="[{'0': 'a', '1': 'b', '2': 'c', '3': 'd'},{'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'},{'0': 'aa', '1': 'bb'}]";
string StrJson = ArrayStr;
//将"[{"和"}]"去除;
//StrJson="'0': 'a', '1': 'b', '2': 'c', '3': 'd'},{'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'},{'0': 'aa', '1': 'bb'";
StrJson = StrJson.Substring(2, StrJson.Length - 4);
//将“},{”替换为“|”便于分割成数组
//StrJson="'0': 'a', '1': 'b', '2': 'c', '3': 'd'|'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'|'0': 'aa', '1': 'bb'";
StrJson = StrJson.Replace("},{", "|");
//以“|”为分隔符将每个JSON对象分割成字符串
/*结果为:strjson[0]="'0': 'a', '1': 'b', '2': 'c', '3': 'd'";
strjson[1]="'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'";
strjson[2]="'0': 'aa', '1': 'bb'";*/
return StrJson.Split('|');
}
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。