如何在php中将电子邮件从表单写入csv?
嘿,我正在内置的PHPWeb服务器上测试我的表单到csv程序,但我无法让它正常工作。我正在尝试将提交的电子邮件从一个表单写入一个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
<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的访问权限有问题,因此请确保服务器可以访问该文件,并且您已为此文件授予“写入”权限。该文件具有读取和写入权限。如何确保服务器可以访问它?