Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 单一html格式电子邮件发送,同时发布csv_Php_Html_Email_Csv - Fatal编程技术网

Php 单一html格式电子邮件发送,同时发布csv

Php 单一html格式电子邮件发送,同时发布csv,php,html,email,csv,Php,Html,Email,Csv,我正在提交带有php代码的HTML表单,用于发送电子邮件。我需要的是在发送电子邮件的同时,在csv文件中更新详细信息(同时使用单个提交按钮)。发送电子邮件的PHP代码是: <?php if(!isset($_POST['submit'])) { header('Location: error.html'); exit; } $name = $_POST['name']; $place = $

我正在提交带有php代码的HTML表单,用于发送电子邮件。我需要的是在发送电子邮件的同时,在csv文件中更新详细信息(同时使用单个提交按钮)。发送电子邮件的PHP代码是:

<?php
    if(!isset($_POST['submit']))
           {
        header('Location: error.html');
        exit;
           }
    $name = $_POST['name'];
    $place = $_POST['place'];
    $email = $_POST['email'];
    $message = $_POST['message'];

    $email_body = 
              "NAME:     $name\n".
              "PLACE:    $place\n".
              "EMAIL-ID: $email\n\n".
              "Message:  $message\n" ;
    $to = "to@xyz.com";
    //Send the email!
    mail($to, $email_body);
    //done
    header('Location: thank.html');
 ?>

任何人都可以指导我更正代码。

函数fputcsv()的第一个参数是文件句柄,第二个参数是数组,请尝试以下操作:

<?php
if(!isset($_POST['submit']))
{
    header('Location: error.html');
    exit;
}
$name = $_POST['name'];
$place = $_POST['place'];
$email = $_POST['email'];
$message = $_POST['message'];

$email_body = "NAME:     $name\n".
              "PLACE:    $place\n".
              "EMAIL-ID: $email\n\n".
              "Message:  $message\n";

$to = "to@xyz.com";

//Send the email!
mail($to, "My Subject", $email_body);

$fp = fopen("datacsv.csv", "a+");
fputcsv($fp, array($name, $place,  $email,  $message));
fclose($fp);

//done
header('Location: thank.html');
?>


确保在header()函数之前添加代码。此外,检查文件datacsv.csv上的权限是否正确。

要添加的csv文件名应在哪里“$fp=fopen(“datacsv.csv”,“a+””)很抱歉,我不理解你的问题…不管怎样,我更改了我的代码,使之成为你必须添加到.php文件的方式。至于.csv文件,如果它不存在,php将在与.php文件相同的目录中创建它(a+模式)。根据php文档,mail()函数有三个必需参数(),因此我还将缺少的一个(主题)添加到代码中。请立即进行测试。如果仍然不起作用,请尝试注释mail()行以检查文件是否已创建。
<?php
if(!isset($_POST['submit']))
{
    header('Location: error.html');
    exit;
}
$name = $_POST['name'];
$place = $_POST['place'];
$email = $_POST['email'];
$message = $_POST['message'];

$email_body = "NAME:     $name\n".
              "PLACE:    $place\n".
              "EMAIL-ID: $email\n\n".
              "Message:  $message\n";

$to = "to@xyz.com";

//Send the email!
mail($to, "My Subject", $email_body);

$fp = fopen("datacsv.csv", "a+");
fputcsv($fp, array($name, $place,  $email,  $message));
fclose($fp);

//done
header('Location: thank.html');
?>