【问题标题】:PHP and redirection [duplicate]PHP和重定向[重复]
【发布时间】:2019-04-08 05:18:10
【问题描述】:

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

【问题讨论】:

  • 对不起,大家好

标签: php forms redirect


【解决方案1】:

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

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

为了显示消息,我建议你使用$_SESSION[]$_GET[] 这两个变量都是超全局变量:

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

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

试试这个($_SESSION[]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'];
}

?>

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

【讨论】:

  • 您的$_GET 解决方案将不起作用,因为参数中有空格。您应该将空格更改为%20
  • @rpm192 通常它会自动添加它,但我还是改变了它
  • 你加到$_SESSION一个,我说的是$_GET一个。
  • @rpm192 我的错!
【解决方案2】:

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

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.';
    }

}

【讨论】:

    【解决方案3】:

    我会使用 $_SESSION 变量来存储您希望显示的消息。 当你想显示这个 $_SESSION 变量的内容时回显它,然后在你完成后 UNSET() 变量

    【讨论】:

      猜你喜欢
      • 2013-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-26
      • 2011-07-17
      • 2011-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多