【问题标题】:displaying a message after redirecting the user to another web page将用户重定向到另一个网页后显示一条消息
【发布时间】:2012-08-28 07:28:48
【问题描述】:

我正在用 PHP 和 MySql 做 HTML。 在用户执行了一些数据库操作后,我的系统将用户重定向到原始数据库页面,以便向他显示更新后的表。 (我完成了这部分)。 同时,我希望在原始页面(系统移动的那个页面)上向用户显示一条消息,以通知他操作成功。我怎么可能显示此消息?

这是我移动到其他页面的 php 代码。

Header( 'Location: Database.php');

【问题讨论】:

标签: php javascript html


【解决方案1】:

解决这个问题最好的方法是在你操作成功后在流程页面设置一个会话消息。 然后在重定向页面中检查会话消息是否已设置。如果已设置,则只需回显该消息。 下面的代码可能会对你有所帮助。

 $_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

【讨论】:

  • 我想知道为什么在我的实现中消息在重定向到另一个页面后没有被转移。事实证明,exit 命令对于一切正常工作是非常必要的。
  • 当我们给出一个标头位置时,它后面应该有一个退出语句。我认为会话可能存在一些问题。你开始一个会话了吗??
【解决方案2】:

一种解决方案是将消息放在一个 SESSION 中,在您的 php 文件中。所以在原始页面中,你会得到那个 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 中,作为一种“flash”消息:

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

    并在重定向后在Database.php 中显示它。显示后也删除它的内容:

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

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

    【讨论】:

    • 谢谢,我担心每次刷新都没有显示消息。一开始我没有想到要使用会话变量。
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      你可以这样做:

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

      关于数据库.php

      echo $_SESSION['msg'];
      unset($_SESSION['msg']);
      

      【讨论】:

        【解决方案6】:
        Header( 'Location: Database.php?success=1' );
        

        在 Database.php 页面中:

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

        【讨论】:

        • 在 echo 中使用 html 格式 ex : echo '&lt;p style="color:#9000A1"&gt;Success&lt;/p&gt;';
        猜你喜欢
        • 2017-04-22
        • 1970-01-01
        • 1970-01-01
        • 2019-08-10
        • 2019-01-06
        • 1970-01-01
        • 1970-01-01
        • 2021-06-09
        • 1970-01-01
        相关资源
        最近更新 更多