PHP 包含 mysql 查询,使用 header 来防止查询重新执行,但是在哪里回显通知?

标签 php mysql execute page-refresh

F5 重新执行查询时我的代码:

if (isset($_POST['addnewproject']) )
{
    include("query/pm_addnewproject.php");
    echo $emailnotificationmessage;
}

为了防止在按 F5 或页面重新加载后重新执行查询,我必须修改标题并将其放在 .php 页面的第一条规则(在任何输出之前)。所以:

    if (isset($_POST['addnewproject']) ) 
    {
        include("query/pm_addnewproject.php");
        header("Location:pm_configureaccounting.php?edit=$_SESSION[accidsession]");

        echo $emailnotificationmessage; exit();

    }

由于标题,我现在丢失了我想在页面中间某处回显的 $emailnotificationmessage。

当我仍然想回应这个问题时,现在最好做什么?

现在我将 $emailnotificationmessages 更改为 $_SESSION['emailnotificationmessage'] 并在我想要的地方回显它。

但我也需要取消设置此 session ,否则它会一直显示给用户。

所以当我将 echo $_SESSION['bla'] 放在页面中间的某个位置时,它在那里有一个值。有用。但是之后我需要清除它,所以当用户再次访问时,它不会显示任何消息,除非再次添加项目。所以我将 $_SESSION['bla'] = ""; 放在页面的末尾,这个 SESSION 仍然得到值 "" ?!这怎么可能?

最佳答案

好的。为什么不按以下方式编写代码:

<?php 

if (isset($_POST['addnewproject']) ) 
{
    include("query/pm_addnewproject.php");
    $_SESSION['emailMsg'] = $emailnotificationmessage;
    header("Location:pm_configureaccounting.php?edit=$_SESSION[accidsession]");

    exit();

}else{
    echo $_SESSION['emailMsg']; 
}

?>

关于PHP 包含 mysql 查询,使用 header 来防止查询重新执行,但是在哪里回显通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13160927/

相关文章:

PHP 链接未出现

php - 如何从 foreach 数组循环中构造手动自定义字段?

mysql - 返回 bool 值的存储过程?

error-handling - InDesign CS5脚本: opening a document is unresponsive, and isn't throwing an error?

java - 运行 .jar 文件 - 双击与命令行执行

php - 在jquery甘特图上自动更新时间戳

mysql从另一列中选择列值

mysql - 如何使用 Mysql 存储过程将导出的文件放置在安全文件传输协议(protocol) (SFTP) 位置

java - Java if语句,仍然执行“Else”

php - 按值获取 stdClass 对象