php - 设置 $_POST 变量

标签 php forms variables post

我有一个使用 POST 的表单和一个变量。 我如何在 $_POST 中设置该变量,以便在提交表单后,我仍然可以获得该变量?

我试过了

$_POST['variable'] = $variable;

它最终是空的。

最佳答案

您应该将该变量作为表单中的隐藏字段,或者使用 session 变量。

隐藏字段

<form method="POST" action="someactionpage.php">
    <input type="hidden" name="my_var" value="<?php echo $myvar; ?>" />
    <!-- ... -->
</form>

然后在 someactionpage.php 提交表单时使用 $_POST['my_var'] 获取它。

session 变量

只需将它存储在 $_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 发送)。所以总是喜欢 session 变量,除非它真的是非关键信息。

关于php - 设置 $_POST 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17264103/

相关文章:

php - 使用 PHP 从 Redis 中选择特定模式的所有关键数据

php - 将自动增量设置为低于当前最高值?

php - 如何在laravel中建立角色和权限的hasManyThrough关系?

java - 在 Struts2 中访问 Map 键值

javascript - CasperJS 传递变量进行评估无法使其正常工作

php - 检查链接是否有效,如果不能直观地识别它是否已损坏

javascript - 表单操作和 Javascript 冲突

jquery - 完成 Ajax 请求后提交表单

javascript - 在此 javascript for 循环中使用变量

php - Ajax 不向 PHP 发送 javascript 变量