2015-09-23 19 views
0

我有一個表單,Form_hour.php,它被加載到瀏覽器中,並允許用戶選擇一個小時。表單通過action="get"將變量$hour發送到文件View_A.php,該文件使用$hour查詢數據庫,然後將View_A.php加載到瀏覽器窗口中,顯示所選小時的數據。使php形式生成的變量在兩個php文件中可用

在View_A中,有一個按鈕允許用戶切換到View_B。這個想法是,當用戶點擊View_B時,文件View_B.php加載在瀏覽器中。 View_B.php,如View_A.php,使用相同的$hour查詢數據庫。

所以我想要的是同一個用戶選擇的變量$hour可用於View_A.phpView_B.php。即,如果用戶選擇在上午6點,然後我想View_A和View_B顯示數據上午6時至

我認爲有Form_hour.php發送$hour到文件common.php,然後包括common.phpView_A.phpView_B.php會工作。但我不斷收到錯誤「致命錯誤:允許的內存大小134217728字節用盡(試圖分配4327字節)」View_A.php

有沒有人有任何想法我做錯了什麼?

在此先感謝!

+0

您可能需要使用會話(http://php.net/manual/en/features.sessions.php)或簡單地使View_B一個鏈接view_B.php參數小時設置(即「view_B.php?小時= 6」),並在view_B.php中讀取$ t $ _GET(http://php.net/manual/en/reserved.variables.get.php) – Transcendental

+0

我認爲會議可能是要走的路,但假設用戶在上午6點看到兩個視圖,然後想要看看上午9點。使用「session_start(),上午6點仍然存在於系統中,我可以' t把它拿出來 – prokaryote

回答

0

如果我沒有弄錯,你可以像下面這樣寫。
這將引導用戶到一個不同的頁面,但會做你想做的。


form_hour.php

<form action="View_A.php" method="post"> 
    your code 
</form> 

View_A.php

<?php 
$_POST['hour'] = $hour 
// query database and do something with it! 
?> 

<form action="View_B.php" method="post"> 
    <input type="hidden" name="hour" value=<?php print('"'.$hour.'"'); ?>> 
    <input type="submit" ..... > 
</from> 

就像你問,如果你想要的形式作爲一個變種。

<?php 
$_POST['hour'] = $hour 
// query database and do something with it! 

$form = '<form action="View_B.php" method="post"> 
    <input type="hidden" name="hour" value="'.$hour.'"> 
    <input type="submit" ..... > 
</from>'; 

//to show it just print/echo it. 
print($from); 
?> 

View_B.php

<?php 
$_POST['hour'] = $hour 
// query database and do something with it! 
?> 
+0

謝謝 - 臨屋區t可能會訣竅。但是,

已經是php變量的一部分,即值必須用單引號引起來。任何想法如何「引用」表達式<?php print('''。$ hour。'「'); ?>>? – prokaryote

+0

我已編輯我的答案,以適應您的要求 –

+0

謝謝,是的,這樣做。自從我發佈這個以來,我的問題已經演變...現在正在與AJAX拼搏,以便不必查詢相同的數據庫兩次 – prokaryote