本文目錄一覽:
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(‘|’);
}
原創文章,作者:QYDE,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/133572.html