未检索或存储隐藏的表单值
Hidden form value not retrieved or stored
我有一个简单的表单,可以通过 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);
}
只需使用$_POST
数组。出于安全原因,也为了避免错误,最好确定您是想从 GET
还是 POST
读取。当然,您总是需要检查表单的操作是否指向正确的脚本。最后,你的代码可以直接缩短 and/or 优化:
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 和其他
我有一个简单的表单,可以通过 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);
}
只需使用$_POST
数组。出于安全原因,也为了避免错误,最好确定您是想从 GET
还是 POST
读取。当然,您总是需要检查表单的操作是否指向正确的脚本。最后,你的代码可以直接缩短 and/or 优化:
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 和其他