如何使用php将表单数据保存到本地文本文件?

如何使用php将表单数据保存到本地文本文件?,php,html,forms,Php,Html,Forms,我有一个表单,我想在其中捕获用户的姓名和电子邮件,并将其存储在文本文件中。我不确定这是我的代码还是必须将脚本保存在特定的位置。当点击提交按钮时,我得到一个错误,显示“404文件或目录未找到”。我的客户端正在通过ftp上传它们,所以我无法检查它是否在本地工作。PHP脚本(processformdata.PHP)和文本文件(formdata.txt)保存在公共HTML文件夹中。我对PHP非常陌生,如果这是一个愚蠢的问题,那么很抱歉。任何关于我做错了什么以及上传文件过程的帮助都将不胜感激,谢谢

我有一个表单,我想在其中捕获用户的姓名和电子邮件,并将其存储在文本文件中。我不确定这是我的代码还是必须将脚本保存在特定的位置。当点击提交按钮时,我得到一个错误,显示“404文件或目录未找到”。我的客户端正在通过ftp上传它们,所以我无法检查它是否在本地工作。PHP脚本(processformdata.PHP)和文本文件(formdata.txt)保存在公共HTML文件夹中。我对PHP非常陌生,如果这是一个愚蠢的问题,那么很抱歉。任何关于我做错了什么以及上传文件过程的帮助都将不胜感激,谢谢

   <form name=”web_form” id=”web_form” method=”post” action=”process- 
    form-data.php”>

     <label for="exampleInputEmail1"><h3 style="color: #eee; margin: 0; 
     font-weight: 400;">Request Information</h3></label>

     <input type="text" name=”name” class="form-control" id="name" 
      placeholder="Your Name">

     <input type="text" class="form-control" name=”email” id=”email” 
      placeholder="youremail@domain.com">

     <button type="submit" name=”s1″ id=”s1″ value="submit" class="btn 
     btn-primary btn2">Submit</button>
  </form>


<?php
 $name = $_POST[‘name’];
 $email = $_POST[’email’];
 $fp = fopen(”formdata.txt”, “a”);
 $savestring = $name . “,” . $email . “n”;
 fwrite($fp, $savestring);
 fclose($fp);
 echo “<h1>You data has been saved in a text file!</h1>”;
?>

请求信息
提交

您应该注意用html代码编写的双引号(“”)

<form name='web_form' id='web_form' method='post' action=''>

     <label for="exampleInputEmail1"><h3 style="color: #eee; margin: 0; 
     font-weight: 400;">Request Information</h3></label>

     <input type='text' name='name' class="form-control" id="name" 
     placeholder="Your Name">

     <input type="text" class="form-control" name='email' id='email' 
     placeholder="youremail@domain.com">

     <button type="submit" name='s1' id='s1' value="submit" class="btn btn- 
     primary btn2">Submit</button>
  </form>

请求信息
提交
此代码将电子邮件和名称写入文本文件

<?php
    if (isset($_POST['s1'])) {
      echo $_POST['name'];
      echo $_POST['email'];

      $myfile = fopen("data.txt", "w") or die("Unable to open file");
      $name = $_POST['name']."\n";
      fwrite($myfile, $name);

      $email = $_POST['email']."\n";
      fwrite($myfile, $email);
      fclose($myfile);
    }
  ?>


首先使用Ascii文本编辑器,这样您就不会在PHP脚本中得到奇怪的双引号和单引号。试试记事本+,它非常好而且免费。您不能使用WORD等文档编辑器编辑代码,也不能在打开PHP标记后立即进行测试时将其添加到文件顶部,例如
,最好确保您正在写入的文本文件位于文档根目录之外;一般来说,让web服务器既可写又可读的文件是个坏主意。我使用Sublime文本编辑器。您建议我将文本文件保存在哪里,以及如何调用文本文件的路径?添加错误报告将做什么?对不起,我只是想尽可能多地学习,这样我就知道将来该做什么了。谢谢你的帮助!添加错误报告将做什么?向您展示您在编写代码时所犯的任何错误,因此,如果我将PHP代码和HTML更改为您提供的内容,那么脚本基本上可以正常工作吗?另外,我还需要在(action='')属性中使用我的PHP文件名吗?你可以使用你的action链接到你想要的PHP文件,但是这个PHP文件应该包含我编写的PHP代码,它工作得非常好!非常感谢你花了这么多时间来帮助我!实际上,我还打算发布另一个关于将数据发送到电子邮件地址的问题。你有什么办法帮我吗?顺便说一句,我也是一名平面设计师,如果你在设计领域需要什么,我很乐意为你做一些无偿的工作。这是我对你的时间和解决方案表示感谢的方式。我编辑了我的第一个答案的代码,但有待同行审查。如果您想帮助我,可以在这里查看更新的PHP代码