【问题标题】:Echo PHP variable to HTML after a form submit [duplicate]表单提交后将 PHP 变量回显到 HTML [重复]
【发布时间】:2019-09-29 02:12:28
【问题描述】:

提交表单后,我使用以下代码重定向到提到的标题位置:

PHP部分:

$TestMessage = "This is a sample message. This is not a constant value. Original data will be collecting from DB";

if(mysqli_affected_rows($conn) > 0) {   

header('Location:mydaomain/expenses?success=1');    

}else{

header('Location:mydomain/expenses?failed=1');

} 

HTML 部分:

<div class="SubResult" id="SubResult" >

    <?php 

        if ( isset($_GET['success']) && $_GET['success'] == 1 )

            {
                echo $TestMessage;
                echo "<h1 style='color:green;padding:3%;'>Success !!</h1>";
            }

        if ( isset($_GET['failed']) && $_GET['failed'] == 1 )

            {
                echo $TestMessage;
                echo "<h1 style='color:red;padding:3%;'>SQL Error !!</h1>";
            } 
    ?>  

</div> 

上面代码的问题是,HTML 不会显示 $TestMessage PHP 变量内容。

为什么我在 PHP 中使用此标头选项:

之前,每当我在原始提交后刷新页面时,都会提交表单。我找到了这个解决方案来避免这个问题。 当我从 php 文件中删除此标头部分时,我可以将变量回显到 PHP(但我在页面刷新问题上面临表单提交问题)

有什么办法可以将此变量回显到 HTML 中?

【问题讨论】:

    标签: php html http-headers forms


    【解决方案1】:

    当你使用 header 时,你正在做一个重定向,所以你的变量 $TestMessage 在那之后是不可用的,如果你想使用它,请确保你使用查询字符串传递,例如:

    header('Location:mydaomain/expenses?success=1&testMessage='.$TestMessage);   
    

    并在下一页使用 $_GET['testMessage'] 获取他的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-05
      • 1970-01-01
      • 2016-02-04
      • 2013-03-18
      相关资源
      最近更新 更多