我有一个使用POST的表单和一个变量.
如何在$_POST中设置该变量,以便在提交表单后,我仍然可以获取变量?
我试过了
$_POST['variable'] = $variable;
它最终是空的.
解决方法:
您应该将该变量作为表单中的隐藏字段,或使用会话变量.
隐藏的领域
<form method="POST" action="someactionpage.PHP">
<input type="hidden" name="my_var" value="<?PHP echo $myvar; ?>" />
<!-- ... -->
</form>
并在提交表单时使用$_POST [‘my_var’]在someactionpage.PHP之后获取它.
会话变量
只需将它存储在$_SESSION变量中即可
<?PHP
session_start (); // Just once at the beginning of your code
// ...
$_SESSION['my_var'] = $myvar;
?>
并在另一页上检索它
<?PHP
session_start (); // Same than before
// ...
echo $_SESSION['my_var'];
?>
附加信息
正如在一些答案和评论中指出的那样,您应该始终检查变量是否存在,因为您无法保证这一点.只需使用isset function
if (isset ($_SESSION['my_var']))
// Do stuff with $_SESSION['my_var']
要么
if (isset ($_POST['my_var']))
// Do stuff with $_POST['my_var']
正如Kolink在评论中指出的那样,用户可以很容易地看到并更改字段值(通过POST发送).所以总是喜欢会话变量,除非它确实是非关键信息.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。