我试图用_POST获取表单(文本字段)的值,并将其存储到文本文件中,但它不起作用。这是我的代码:
HTML
<form>
<input type="text" name="test" id="test" value="">
<input type="button" onclick="location.href='example.com/index.php?address=true';" value="ODOSLAŤ" />
</form>
PHP
if (isset($_GET['address'])) {
$email = $_POST['test'];
$myfile = fopen("log.txt","a") or die("Error.");
fwrite($myfile, "\n".$email);
// this prints nothing
echo $email;
}
我无法获得该文字字段的值。也不是GET也不是POST对我不起作用。我做错了什么?
答案 0 :(得分:0)
您没有提交表单。
按如下方式更改您的代码....
<form method="post" action="example.com/index.php?address=true">
<input type="text" name="test" id="test" value="">
<input type="submit" value="ODOSLAŤ" />
</form>
你会得到你想要的东西......
答案 1 :(得分:0)
正如汤姆所提到的那样,这就是你所遗漏的。
<form method="post" action="yourphp.php">
<input type="text" name="address" id="test" value="">
<input type="submit" name="submit"/>
</form>
在PHP中,如果被触发则应该发布
if (isset($_POST['address'])) {
$email = $_POST['test'];
$myfile = fopen("log.txt","a") or die("Error.");
fwrite($myfile, "\n".$email);
// this prints nothing
echo $email;
}
说明: -
在表单中,需要执行操作以将操作传递给下一个调用者并执行操作。该操作可能为空或将其值传递给另一个脚本。
在您的PHP中,您实际上正在使用GET
。如果用户没有输入任何内容该怎么办?这就是为什么建议使用POST
。
答案 2 :(得分:0)
<form method="post" action="example.com/index.php?address=true">
<input type="text" name="test" id="test" value="">
<input type="submit" value="ODOSLAŤ" />
</form>
if (isset($_GET['address'])) {
if (isset($_POST['address'])) {
您希望在触发FreedomPride提及的操作后发布
如果您知道以后要发布该数据,则需要声明post method
。
正如FreedomPride也提到的那样:
您使用的是GET
,但如果用户没有输入您的脚本无效的内容,建议您使用POST