表单提交后将 PHP 变量回显到 HTML [重复]

Posted

技术标签:

【中文标题】表单提交后将 PHP 变量回显到 HTML [重复]【英文标题】:Echo PHP variable to HTML after a form submit [duplicate] 【发布时间】: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 中?

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于表单提交后将 PHP 变量回显到 HTML [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将 html 和 php 代码存储在要回显到 html 页面的 php 变量中

将变量内容回显到文本文件中的批处理脚本[重复]

显示数据库查询结果

批处理脚本将变量内容回显到文本文件[重复]

jsp中怎样获得表单中radio的回显信息?

为啥我的 php 脚本没有将结果回显到原始页面中?