成功后的php重定向
如何显示成功消息,然后在PHP中重定向。我已经试过了成功后的php重定向,php,Php,如何显示成功消息,然后在PHP中重定向。我已经试过了 标题(“位置:.php”)但不显示成功消息。如果标题(“位置:details1.php”)被取出,则会显示成功消息,但不会重定向。有什么想法吗 谢谢Page1.php <html> <body> <div id="content"> <?php if($someCondition){ header("Location: page2.php?message=someMessage");
标题(“位置:.php”)代码>但不显示成功消息。如果标题(“位置:details1.php”)代码>被取出,则会显示成功消息,但不会重定向。有什么想法吗
谢谢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>
<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>
$_SESSION['error'] = 'You lost the Game!';
header('Location: two.php');
exit;
if (isset($_SESSION['error']))
{
echo $_SESSION['error'];
unset($_SESSION['error']);
}
您可以使用meta refresh标记在一两秒钟后重定向:
<meta http-equiv="refresh" content="2;url=http://mysite.com/page.php">
您也可以将成功消息传递到下一页,并让它显示它。我使用这个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>";
}
函数重定向($URL、$msg、$secs){
回声“;
回声“;
回声“卡甘多…”;
回声“;
回声“;
回声“;
回音“{$msg}…”;
回显“另一条消息和链接以转到站点”
回声“”;
回声“;
回声“;
}
当然,您可以设置此样式。我更喜欢在重定向成功/错误消息时使用会话:
one.php
<html>
<body>
<div id="content">
<?php
if($someCondition){
header("Location: page2.php?message=someMessage");
exit; // don't forget to exit
}
?>
</div>
</body>
</html>
<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>
$_SESSION['error'] = 'You lost the Game!';
header('Location: two.php');
exit;
if (isset($_SESSION['error']))
{
echo $_SESSION['error'];
unset($_SESSION['error']);
}
two.php
<html>
<body>
<div id="content">
<?php
if($someCondition){
header("Location: page2.php?message=someMessage");
exit; // don't forget to exit
}
?>
</div>
</body>
</html>
<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>
$_SESSION['error'] = 'You lost the Game!';
header('Location: two.php');
exit;
if (isset($_SESSION['error']))
{
echo $_SESSION['error'];
unset($_SESSION['error']);
}
我们不能不看到有问题的代码。您可以重定向到成功页面或刷新时间。您做了哪些研究?位置
标题告诉浏览器可以在其他位置找到该页面。用“<代码>位置/代码>标题显示一个成功的页面是没有意义的,因为它不会显示。您应该考虑使用JavaScript而不是处理HealssDo标头(“位置:YouPage,php?var =一些消息”);进入html页面?@Baba出于好奇,对于xss
,什么是更安全的方法?只是过滤获取输入?@Evan。需要很多php方面的帮助,因为我是新手。你能帮忙吗?@Evan使用htmlspecialchars
或者这个简单的类@user2216325是的,当然可以。我会写一个简单的例子。我试过了,但即使没有输入用户名或密码,它也会刷新。我需要它重定向,如果用户名和密码是正确的。这一行取代你的标题重定向。。您仍然需要执行验证逻辑,只有在显示成功后才能进行响应。我该如何做?对不起,我是php新手。因此,用户登录login.html。然后转到login.php,显示登录是否成功。我需要它重定向到另一个页面,如果登录成功