php表单写入txt

时间:2012-03-23 06:00:05

标签: php forms email

我是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>

5 个答案:

答案 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);
   }

?>