如何在php中将电子邮件从表单写入csv?

如何在php中将电子邮件从表单写入csv?,php,Php,嘿,我正在内置的PHPWeb服务器上测试我的表单到csv程序,但我无法让它正常工作。我正在尝试将提交的电子邮件从一个表单写入一个csv文件,每封电子邮件都作为一个新行 这是我的表格: <form id="form" action="welcome.php" method="post"> <div class="form-group"> <label for="exampleInputEmail1">Email address</la

嘿,我正在内置的PHPWeb服务器上测试我的表单到csv程序,但我无法让它正常工作。我正在尝试将提交的电子邮件从一个表单写入一个csv文件,每封电子邮件都作为一个新行

这是我的表格:

  <form id="form" action="welcome.php" method="post">

    <div class="form-group">
    <label for="exampleInputEmail1">Email address</label>
    <input type="email" name="email" class="form-control" id="exampleInputEmail1" placeholder="Email">
  </div>

  <button type="submit" id="submit-btn" class="btn btn-primary">Submit</button>
  </form>

电子邮件地址
提交
以下是我的welcome.php文件:

<?php

$email = $_POST["email"];
$file = fopen("list.csv", "w");

fputcsv($file, array($email));

fclose($file);

实际上,
fputcsv()
方法将array作为第二个参数,因此您应该作为

<?php
$email = $_POST["email"];
$file = fopen("list.csv", "w");

echo fputcsv($file, array($email));

fclose($file);
?>


您可以从

中看到
fputcsv
方法的原型,而不是
按钮type=“submit”
使用
输入type=“submit”
可能是危险的,因为人们在正常电子邮件文本中往往使用逗号!基本调试:是否检查
fopen()
是否成功?您是否检查了
$\u POST
是否包含您认为它所做的事情?
fputcsv
希望它的第二个参数是一个数组(该行的字段)。在您的示例中,
$\u POST[“email”]
(因此,
$email
)不是一个数组。看起来它甚至没有进入欢迎脚本。打开firebug或开发人员工具。追踪路线。跟踪Apache错误日志。检查您的访问日志。请求是否已发出?
文本保留在输入字段中
似乎是客户端的问题。它至少应该显示一个不同的页面。是否welcome.php和表单在同一个文件中?代码正常工作可能是您对list.CSV的访问权限有问题,因此请确保服务器可以访问该文件,并且您已为此文件授予“写入”权限。该文件具有读取和写入权限。如何确保服务器可以访问它?