2013-03-28 98 views
0

如何顯示成功消息,然後在PHP中重定向。我試過 header("Location: .php");但它不顯示成功消息。如果header("Location: details1.php");被取出,則成功消息顯示但不重定向。有任何想法嗎?php成功後重定向

感謝

+1

我們不能無需查看相關代碼即可獲得幫助。您可以重定向到成功頁面或刷新時間。你做了什麼研究? – UnholyRanger

+0

「位置」標題告訴瀏覽器該頁面可以在其他位置找到。用*位置標題顯示成功頁面是沒有意義的,因爲它不會被顯示。 –

+0

你應該考慮使用JavaScript而不是處理標題 – Wistar

回答

1

page1.php中

<html> 
<body> 
<div id="content"> 

<?php 

if($someCondition){ 
    header("Location: page2.php?message=someMessage"); 
    exit; // don't forget to exit 
} 

?> 

</div> 
</body> 

</html> 

使page2.php

<html> 
<body> 
<div id="content"> 

<?php 

if(isset($_GET['message']){ // NOTE: THE MESSAGE VAR CAN BE ANY NAME (NOT JUST MESSAGE). JUST MAKE SURE IT MATCHES THE NAME OF THE VARIABLE YOU SENT FROM PAGE1.PHP 
    $message = htmlspecialchars($_GET['message']); 
    echo 'the message sent from redirection was: ' . $message; 
} 

?> 

</div> 
</body> 

</html> 
+0

確定標題(「Location:yourpage.php?var = some message」);去在html頁面? – user2216325

+0

@ user2216325我會更新我的答案,以使其更明顯 –

+1

此代碼具有'xss'注入漏洞 – Baba

0

您可以使用元刷新標記之後一兩秒鐘來重定向:

<meta http-equiv="refresh" content="2;url=http://mysite.com/page.php"> 

您也可以將成功消息傳遞到下一頁,並將其顯示出來。

+0

我試過了,但即使沒有輸入用戶名或密碼,也會刷新。如果用戶名和密碼正確,我需要重定向。 – user2216325

+0

這行代替你的標題重定向..你仍然需要做你的驗證邏輯,只有在顯示成功後回顯。 – sachleen

+0

我該怎麼做?對不起,我是新來的PHP。所以用戶登錄login.html。然後進入login.php,顯示登錄是否成功。如果登錄成功,我需要它重定向到另一個頁面 – user2216325

0

我用這當然PHP函數

function redirects($URL,$msg,$secs){ 
    echo "<html>"; 
    echo "<head>"; 
    echo "<title> Cargando...</title>"; 
    echo "<meta http-equiv='refresh' content ='{$secs};url={$URL}'>"; 
    echo "</head>"; 
    echo "<body>"; 
    echo "<b>{$msg}...</b></br>"; 
    echo "another message and link to go to the site" 
    echo "</br>"; 
    echo "</body>"; 
    echo "</html>"; 
} 

你可以風格這一點。

1

我更喜歡使用會話與成功重定向時/一條錯誤消息:

one.php

$_SESSION['error'] = 'You lost the Game!'; 

header('Location: two.php'); 

exit; 

two.php

if (isset($_SESSION['error'])) 
{ 

    echo $_SESSION['error']; 

    unset($_SESSION['error']); 

}