提交表单后,我将使用以下代码重定向至上述标题位置:
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?
答案 0 :(得分:1)
使用标头时,您正在执行重定向,因此变量$ TestMessage在此之后不可用,如果要使用它,请确保使用查询字符串进行传递,例如:
header('Location:mydaomain/expenses?success=1&testMessage='.$TestMessage);
然后在下一页中使用$ _GET ['testMessage']来获取他的值。