Cod*_*son 3 php forms variables post
我有一个使用POST的表单和一个变量.如何在$ _POST中设置该变量,以便在提交表单后,我仍然可以获取变量?
我试过了
$_POST['variable'] = $variable;
Run Code Online (Sandbox Code Playgroud)
它最终是空的.
您应该将该变量作为表单中的隐藏字段,或使用会话变量.
<form method="POST" action="someactionpage.php">
<input type="hidden" name="my_var" value="<?php echo $myvar; ?>" />
<!-- ... -->
</form>
Run Code Online (Sandbox Code Playgroud)
后得到它someactionpage.php与$_POST['my_var']
时提交表单.
只需将它存储在$ _SESSION变量中即可
<?php
session_start (); // Just once at the beginning of your code
// ...
$_SESSION['my_var'] = $myvar;
?>
Run Code Online (Sandbox Code Playgroud)
并在另一页上检索它
<?php
session_start (); // Same than before
// ...
echo $_SESSION['my_var'];
?>
Run Code Online (Sandbox Code Playgroud)
正如在一些答案和评论中指出的那样,您应该始终检查变量是否存在,因为您无法保证这一点.只需使用isset函数
if (isset ($_SESSION['my_var']))
// Do stuff with $_SESSION['my_var']
Run Code Online (Sandbox Code Playgroud)
要么
if (isset ($_POST['my_var']))
// Do stuff with $_POST['my_var']
Run Code Online (Sandbox Code Playgroud)
正如Kolink在评论中指出的那样,用户可以很容易地看到并更改字段值(通过POST发送).所以总是喜欢会话变量,除非它确实是非关键信息.