表单提交后将 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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章