我是php的新手。并一直在关注教程。我需要完成一个调用php函数的表单,该函数接受表单的输入并将其写入文件。应该够容易吗?我在很多方面都试过这个,这就是我得到的结果。然而由于某种原因,它写了三次作品,意味着三个条目被估算,然后忽略第三个之后的所有内容。 test.txt是我写的文件。
<?php
$email= $_POST['email'];
$myFile = "test.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
$stringData = "$email\n";
fwrite($fh, $stringData);
fclose($fh);
?>
这是我用来使用php的表单。
<div id="login-box">
<form name="form" method="post" action="<?php $_SERVER['PHP_SELF'];?>">
<div class="text-field">
<input name="email" id="email" type="text">
</div>
<input id="login" type="submit" value="Submit">
</form>
</div>
答案 0 :(得分:0)
我已经测试了你的代码,无论你提到什么都没有任何问题。代码插入了三个以上的记录。所以请继续......
答案 1 :(得分:0)
尝试使用此示例
<?php
$email= $_POST['email'];
$myFile = "test.txt";
// First, let's make sure that the file exists and is writable.
if (is_writable($myFile)) {
// In our example we're opening $ myFile in the "append".
if (!$handle = fopen($myFile, 'a')) {
echo "Can't open ($myFile)";
exit;
}
if (fwrite($handle, $email) === FALSE) {
echo "Can't wtire to file ($myFile)";
exit;
}
echo "OK. Content ($email) written to file ($myFile)";
fclose($handle);
} else {
echo "File $myFile not available for writing.";
}
?>
此外,您只需使用以下代码调试您的PHP代码:
echo <something_what_you_need>; die;
也许你的代码被多次调用而你却看不到它。
答案 2 :(得分:0)
您的代码应该有效,但您在表单的操作属性中写了<?
而不是<?php
。
答案 3 :(得分:0)
在PHP代码的顶部添加这两行
ini_set('display_errors',1);
error_reporting(E_ALL);
并看到真正的错误信息,不是你的傻“无法打开”而是解释,肯定会出错。
如果您无法理解自己的意思,请在此处发布,完全和整个。
答案 4 :(得分:-1)
也许您提交表单3次或按下浏览器面板上的重新加载按钮? 你能发贴你的HTML吗?
试试这个:
<?php
if($_POST['email'])
{
$email= $_POST['email'];
$myFile = "test.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
$stringData = "$email\n";
fwrite($fh, $stringData);
fclose($fh);
}
?>