1

我正在尝试将在 HTML 表单中输入的数据保存在文本文件中。我正在使用 php 脚本来执行此操作。当我单击提交按钮时,它不会将数据保存在文本文件中。有人可以告诉我这里出了什么问题。

以下是代码片段 -

HTML 表单 -

<form id="post" name="post" method="post" action="input.php">
    Name: <input type="text" name="name"><br>
    Text: <textarea rows="50" cols="85" name="blogentry"></textarea>
    <input class="button" type="submit" value="Submit">
</form>

PHP - (input.php)

<html>
   <head></head>
   <body>
   <?php 

   // variables from the form
   $name = $_POST['name'];
   $blogentry = $_POST['blogentry'];

    // creating or opening the file in append mode
    $dataFile = "data.txt";
    $fh = fopen($dataFile, 'a');

    // writing to the file
    fwrite($fh, "Name - " . " " . $name . " " . "\n");
    fwrite($fh, "Blog - " . " " . $blogentry . " " . "\n\n");

    fclose($fh);
    ?>
   </body>
</html>
4

4 回答 4

0

我刚刚遇到了同样的问题。您需要将带有表单 ID 的表单标签添加到 textarea 元素。从上面更正您的代码::

<form id="post" name="post" method="post" action="input.php">
    Name: <input type="text" name="name"><br>
    Text: <textarea rows="50" cols="85" name="blogentry" form="post"></textarea>
    <input class="button" type="submit" value="Submit">
</form>

然后它应该工作。

于 2014-03-26T00:48:40.640 回答
0

在这种情况下,查明问题很有用。也许表单没有提交您的文本区域,或者您的 PHP 没有收到它,或者您正在处理的值可能有问题。

如果您在像 Firebug 这样的检查器中查看表单提交,您是否看到请求中提交的 textarea 的内容?

如果您var_dump($_POST)在代码中执行 a,您是否看到从表单提交的所有值?

于 2013-11-09T15:30:42.623 回答
0

您的代码没有错误。如果 data.txt 在那里并且有权在上面写代码,那么代码应该可以工作。请检查文件权限。

于 2013-11-09T15:42:40.843 回答
0

你可以试试这个,

   if(isset($_POST['name']) && isset($_POST['blogentry'])){

            $name = $_POST['name'];
            $blogentry = $_POST['blogentry'];

            // creating or opening the file in append mode
            $dataFile = "data.txt"; // make sure the directory path is correct and permission of the folder
            $fh = fopen($dataFile, 'w');    // writing to the file

            $stringData = "Name - " . " " . $name . " " . "\n";
            $stringDataBlog = "Blog - " . " " . $blogentry . " " . "\n\n";
            fwrite($fh, $stringData);                  
            fwrite($fh, $stringDataBlog);  
            fclose($fh);                
  }
于 2013-11-09T15:37:38.510 回答