将用户重定向到另一个网页后显示消息

8
我正在使用PHP和MySQL进行HTML开发。 在用户执行某些数据库操作后,系统会将用户重定向到原始数据库页面以显示更新后的表格(此部分已完成)。 同时,我希望在原始页面(系统移动到的页面)上向用户显示成功操作的通知消息。如何才能显示这个消息? 以下是我的PHP代码,用于移动到另一个页面。
Header( 'Location: Database.php');
6个回答

12
Header( 'Location: Database.php?success=1' );

并且在 Database.php 页面中:

if ( isset($_GET['success']) && $_GET['success'] == 1 )
{
     // treat the succes case ex:
     echo "Success";
}

1
在 echo 中使用 HTML 格式,例如:echo '<p style="color:#9000A1">成功</p>'; - Cosmin

11

将其存储在session中,作为一种“闪存”消息:

$_SESSION['message'] = 'success';

并在重定向后在Database.php中显示它。同时在显示后删除其内容:

print $_SESSION['message'];
$_SESSION['message'] = null;

这样做的好处是,每次用户刷新页面时都不会再次显示该消息。


6

您可以这样做:

$_SESSION['msg']="Updation successfully completed";
header("location:database.php");

在`database.php`文件中。
echo $_SESSION['msg'];
unset($_SESSION['msg']);

6

一种解决方案是在你的php文件中将消息放入SESSION中。因此,在原始页面上,您获取该SESSION变量并显示它。 例如:

在您的php文件中:

session_start();
$_SESSION["message"]="MESSAGE OF SUCCESS"

在您的原始文件中:

session_start();
    if(isset($_SESSION["message"]))
    {
        echo"SUCCESS OR THE MESSAGE SET IN THE VAR SESSION";
        unset($_SESSION["message"]);
    }

3
解决这个问题的最好方法是在操作成功的过程页面设置一个会话消息。然后在重定向的页面中检查是否设置了会话消息。如果设置了,就简单地输出该消息。下面的代码可能会对你有所帮助。
 $_SESSION['MSG']="Your data is saved";
 Header( 'Location: Database.php');
 exit;
 //now in the database.php page write at the top
  <?php
   if(isset($_SESSION['MSG'])){
   echo $_SESSION['MSG'];
   }
  ?>//its very simple,you can also format the message  by using different html attributes

1
我曾经想知道为什么在我的实现中,重定向到另一个页面后消息没有被传递。原来exit命令非常必要,以便一切正常工作。 - Simon Josef Kok
每当我们给出一个头部位置时,它应该跟随一个退出语句。我认为会话可能存在一些问题。你是否已经开始了一个会话? - Satyapriya Mishra

0
在重定向到新页面之前,您可以设置一个带有要显示的消息的cookie。加载原始页面时,您将看到是否设置了此特殊cookie,如果设置了,则可以显示存储在cookie中的成功消息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接