我是PHP新手,我想在我的索引頁上有一個按鈕,點擊按鈕時,它會觸發第2頁以顯示帶有我自己內容的DIV但是我將保留在索引頁面中而不重定向到第2頁,並且第2頁上的DIV在未單擊按鈕時隱藏。索引頁按鈕觸發在另一頁上顯示div
有什麼辦法可以實現這個目標嗎?
我是PHP新手,我想在我的索引頁上有一個按鈕,點擊按鈕時,它會觸發第2頁以顯示帶有我自己內容的DIV但是我將保留在索引頁面中而不重定向到第2頁,並且第2頁上的DIV在未單擊按鈕時隱藏。索引頁按鈕觸發在另一頁上顯示div
有什麼辦法可以實現這個目標嗎?
如果你真的站在後面你的壞主意,只是去:
if(isset($_POST['submit'])) {
echo "<div>My hidden content</div>"
}
這將是第二頁上^
<form action="page2.php" method="post">
<button name="submit">Submit</button>
</form>
這將是你的索引頁^
上正如前面提到的,最好使用JavaScript來做到這一點。在不刷新頁面的情況下調用發佈請求。或者,如果你想在客戶端和服務器之間建立連接,使用node.js(服務器端JavaScript)
好吧,如果你想在點擊按鈕後繼續留在第一頁,並且你不會使用任何JavaScript,你也可以這樣做。但它會被重定向2次,所以它有點...不高效和客戶端友好。
你的第二頁:
if(isset($_POST['submit'])) {
setcookie("CLICKED",'ThisValueDoesntMatter',time()+31556926 ,'/');
header("HTTP/1.1 301 Moved Permanently");
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
if(isset($_COOKIE['CLICKED'])) {
echo "<div>My hidden content</div>"
}
這也是不安全的,如果該按鈕被認爲是與一些認證頁面上。 索引頁保持不變。 注意:Cookie的使用期限爲1年。
嗨馬丁,我試過你的解決方案正在工作,但我喜歡留在我的索引頁面點擊按鈕後,有什麼辦法來存檔嗎? – Kenneth
可以通過JavaScript進行POST請求。這可以幫助你[鏈接](https://stackoverflow.com/questions/9713058/send-post-data-using-xmlhttprequest)但是,當你留在你的第一頁上,而不是在進入第二頁之後, div不會出現。你有2個選擇。通過點擊按鈕,您可以創建會話,或者您可以創建客戶端cookie。如果瀏覽器中存在cookie,它會將數據發送到服務器,服務器會發現您已經點擊了按鈕並顯示div。 –
AJAX和JavaScript。出發並征服! – ceejayoz
也許WebSockets?這使您可以將消息從服務器發送到客戶端。我真的不知道,你的問題不是很清楚。 –
請使用一些代碼參考更具描述性。 – Ali