PHP和重定向

时间:2018-11-04 19:06:25

标签: php forms redirect

我对这个网站还很陌生,对我最近遇到的一个问题有疑问。 如何与刚刚进行重定向的页面进行交互? 也就是说,在验证表单之后,我希望能够将用户重定向到登录页面并向他显示成功消息,例如:成功注册!但是我做不到。

3 个答案:

答案 0 :(得分:0)

不是最漂亮的解决方案,但它会起作用。

header function可用于将用户重定向到页面。

header("Location: myFile.php?message=success"); // success can be changed to fail

然后您可以在目标页面上使用此代码来相应地显示消息。

if(isset($_GET['message'])) {

    if($_GET['message'] == 'success') {
        echo 'Registered successfully!';
    } elseif($_GET['message'] == 'fail') {
        echo 'Registration failed.';
    }

}

答案 1 :(得分:0)

要进行重定向,请使用header()函数:

header("Location: [you-url]");

要显示一条消息,建议您使用$_SESSION[]$_GET[]这两个变量都是超全局变量:

http://php.net/manual/en/language.variables.superglobals.php

还请记住,如果您使用$_SESSION[],则必须在每页的开头放置session_start() ...

尝试以下操作($_SESSION[]会话解决方案):

$_SESSION['message'] = "Successful Registration";
header("Location: [redirect-url]");

在显示页面上:

<?php

if(isset($_SESSION['message'])) {
    echo $_SESSION['message'];
}

?>

尝试这个($_GET[]解决方案):

header("Location: [redirect-url]?message=Successful%20Registration");

在显示页面上:

<?php

if(isset($_GET['message'])) {
    echo $_GET['message'];
}

?>

您可以根据是否失败进行更改!

答案 2 :(得分:-1)

我将使用$ _SESSION变量来存储您希望显示的消息。 要显示它时,回显此$ _SESSION变量的内容,然后在完成后回显UNSET()