【发布时间】:2019-04-08 05:18:10
【问题描述】:
我对这个网站还很陌生,并且对我最近遇到的一个问题有疑问。 如何与我们刚刚进行重定向的页面进行交互? 也就是说,在验证表单后,我希望能够将用户重定向到登录页面并向他显示成功消息,例如:成功注册!但我做不到。
【问题讨论】:
-
对不起,大家好
我对这个网站还很陌生,并且对我最近遇到的一个问题有疑问。 如何与我们刚刚进行重定向的页面进行交互? 也就是说,在验证表单后,我希望能够将用户重定向到登录页面并向他显示成功消息,例如:成功注册!但我做不到。
【问题讨论】:
要进行重定向,请使用 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。
$_SESSION一个,我说的是$_GET一个。
不是最漂亮的解决方案,但它会起作用。
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.';
}
}
【讨论】:
我会使用 $_SESSION 变量来存储您希望显示的消息。 当你想显示这个 $_SESSION 变量的内容时回显它,然后在你完成后 UNSET() 变量
【讨论】: