2013-03-28 72 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']); 

}