所以当我试图重新填充表单时,除了重定向GET变量之外我还有其他选项吗?
我想我可以创建会话变量并使用它。我是否认为这些只是两种方式?
我现在拥有的是:
if ( count($m) > 0 ) {
// there is an error in fields filled out so we are sending user back to form.
$_SESSION["myarray"] = $m;
header("location: ./edit.php?datefield=".$datefield."&text=".$entry."&flag=".$flag);
}
但这会向用户显示我的变量。我想避免这种情况。
更新 我重新措辞了我的问题,代码更清晰。 我也喜欢发现我的解决方案是使用include('edit-error.php')。这基本上是原始的edit.php,其中一切都被删除了,但生成表单所需的代码,我用所需的变量填充了edit-error.php。我以前从未在我的工具箱中使用过这个,所以我很感谢建议它的用户。
答案 0 :(得分:1)
您可以考虑用户隐藏信息(不完全,但比GET更强)的一种方法是在您的信息中创建一个JSON并向您的页面发送POST请求。
就个人而言,我仍然更喜欢会话,但还有其他方法。
答案 1 :(得分:0)
我使用的解决方案是我的用户pala_,所以感谢pala_我投了你的评论。
我使用了include('edit-error.php')。这基本上是原始的edit.php,其中一切都被删除了,但生成表单所需的代码,我用所需的变量填充了edit-error.php的表单。我以前从来没有在我的工具箱中这样做,所以我很感激建议它的pala_。
这允许我进行服务器端验证并再次使用用户输入重新显示表单,以便他们可以重新提交。我使用标题(位置)与参数提交作为GET我不想要那样。使用include()对我来说是一个完美的解决方案。