簡體   English   中英

PHP / HTML導航到另一個頁面並顯示輸出?

[英]PHP/HTML navigate to another page AND display output?

運行POST腳本后,我想導航回到調用它的頁面。 在腳本的結尾,我可以調用類似的代碼來導航:

header("Location: /url/to/the/other/page");

但是使用的限制是,在調用之前,我無法向用戶輸出“已成功將數據插入數據庫”。 回到原始頁面時,如何顯示該通知?

嚴格來說,您無法從具有可顯示輸出的標題的頁面進行重定向。 您既可以將輸出發送到瀏覽器,也可以發送重定向標頭,但不能兩者都發送。

如果要顯示某些內容,請等待幾秒鍾,然后發送重定向,您將需要在JavaScript中使用客戶端重定向。 像這樣:

<html>
    <head>
        <script type="text/javascript">
            setTimeout( function() {
                location.href='/newpage.html',
            }, 5000 );
        </script>
    <body>
        successfully inserted data to database.
    </body>
</html>

這將呈現<body> ,等待5秒鍾,然后在setTimeout()執行函數以重定向頁面。

從技術上講,這是不正確的。.無論頁面是否完成加載,只要JS執行,5秒計數器都會立即開始計數。

如果您希望在調用的同一頁面上顯示通知,而不是重定向到中間頁面,則應設置會話值:

$_SESSION['note'] = 'data_saved';

然后在您要顯示通知的頁面上:

if ( isset( $_SESSION['note'] ) && $_SESSION['note'] == 'data_saved' ) {
    echo "successfully inserted data to database.\n";
    unset( $_SESSION['note'] );
}

這將要求您在任何引用$_SESSION頁面的頂部運行session_start()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM