未检索或存储隐藏的表单值

Posted

技术标签:

【中文标题】未检索或存储隐藏的表单值【英文标题】:Hidden form value not retrieved or stored 【发布时间】:2021-08-19 18:43:20 【问题描述】:

我有一个简单的表单,可以通过 php 存储日期和电子邮件,但不是特定的隐藏值。

目标:将隐藏值“clubo”存储到 f.txt 中。可以帮忙吗?

html

<form method="post" action="test.php">
    <input type="hidden" name="clubo" value="clubo"/>
    <input type="hidden" name="date" value="date-through-echo"/>
    <input required type="email" name="email" placeholder="join!">
    <input type="submit" name="submitclub" value="Join">
</form>

PHP

if (isset($_POST['submitclub']))
$clubo = $_POST['clubo'];
$date = $_POST['date'];
$email = $_POST['email'];
$file = fopen("f.txt", "a");
fwrite($file, $clubo);
fwrite($file, $date);
fwrite($file, $email);
fclose($file);

【问题讨论】:

你成功了。这就是问题所在。这不是 test.php。我纠正了这个问题,它应该可以正常工作。谢谢@biesior! 【参考方案1】:

只需使用$_POST 数组。出于安全原因和避免错误,始终最好确定您是否要阅读GETPOST。当然,您总是需要检查表单的操作是否指向正确的脚本。最后,您的代码可以缩短和/或优化:

form.html

<form method="post" action="test.php">
    <input type="hidden" name="clubo" value="clubo"/>
    <input type="hidden" name="date" value="date-through-echo" /> <!-- no need for readonly for hidden fields -->
    <input required type="email" name="email" placeholder="join!" /> <!-- no need for `multiple` attr for text fields -->
    <input type="submit" name="submitclub" value="Join">
</form>

test.php

if (isset($_POST['submitclub'])) 
    file_put_contents('g.txt',
        'Club: '.$_POST['clubo'] . PHP_EOL .
        'Date: '.$_POST['date'] . PHP_EOL .
        'E-mail: '.$_POST['email']
    );

test.php,如果你想在附加模式下使用它:

if (isset($_POST['submitclub'])) 
    file_put_contents('g.txt',
        'Club: ' . $_POST['clubo'] . PHP_EOL .
        'Date: ' . $_POST['date'] . PHP_EOL .
        'E-mail: ' . $_POST['email'] . PHP_EOL,
        FILE_APPEND
    );

最后的想法:

虽然我不需要您的要求,但我认为使用某些数据库引擎可能会更好地存储数据,从 SQLITE 到一些更高级的引擎,如 mysql、Mongo 等。

【讨论】:

不客气,请删除多余的 cmets ;)

以上是关于未检索或存储隐藏的表单值的主要内容,如果未能解决你的问题,请参考以下文章

在组件中检索到响应后,加载微调器未隐藏

在 django 中检索表单字段属性

在表单提交期间更新隐藏值

使用用户默认值来记住隐藏或未隐藏的内容

兄弟或兄弟AtRow()函数如何从QTableWidget中的隐藏列中检索值?

Wordpress 联系表单:想要创建一个联系表单以允许从页面或 url 参数动态获取值的隐藏字段