Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
成功后的php重定向_Php - Fatal编程技术网

成功后的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中重定向。我已经试过了
标题(“位置:.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,显示登录是否成功。我需要它重定向到另一个页面,如果登录成功