2015-06-11 34 views
-1

我有一個像控制器一樣的頁面,或多或少(我沒有使用框架)名爲control.php 此頁面在頂部聲明一個數組,並且如果驗證頁面該called.Like此:陣列在執行array_push後顯示爲空

<?php 
$arr= array(); 
$reference=str_replace("/","",parse_url($_SERVER['HTTP_REFERER'],PHP_URL_PATH)); 
if($reference=="page1.php"){ 
    $value="pages"; 
    array_push($arr, $value); 
    header("Location: page2.php"); 
}else($reference=="page2.php"){ print_r($arr); } 

的目的是,當第1頁呼叫control.php其添加到陣列和第2頁時呼叫control.php它打印陣列。我不明白的問題是,如果我添加後添加它添加打印數組,但是當我這樣做的時候是page2,數組是空的。聲明頁面頂部的數組不會使它可用到所有的control.php?

+0

'header(「Location:page2.php」);'這段代碼會執行重定向,所以我不認爲你會在數組中添加頁面項目 –

+0

這就是爲什麼數組顯示爲空?但是我需要在添加後重定向到page2(列出數組的內容) – Mar10Bel

回答

0

每次執行一個php腳本時,無論它是相同的腳本還是兩個不同的腳本,環境都是從頭開始設置的。自動在不同腳本之間保留狀態。變量及其值不被保留。一切從頭開始。

如果你想在兩個不同的腳本之間保存一些信息,你需要引入一些存儲機制。你可以使用會話或數據庫來實現。