【问题标题】:single html form email sending with csv posting simltaniously单个 html 表单电子邮件发送与 csv 同步发布
【发布时间】:2015-03-11 03:57:35
【问题描述】:

我在提交时有带有 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');
 ?>

当我添加以下代码时,它不起作用:

$fp = fopen("datacsv.csv", "a+");

fputcsv($name, $place,  $email,  $message);
fclose($fp);

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

【问题讨论】:

    标签: php html email csv


    【解决方案1】:

    函数 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() 函数有三个强制参数(php.net/mail),所以我还在我的代码中添加了缺少的一个(主题)。请现在测试一下。如果它仍然不起作用,请尝试注释掉 mail() 行以检查文件是否已创建。
    猜你喜欢
    • 1970-01-01
    • 2017-03-31
    • 2016-03-10
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2019-07-31
    相关资源
    最近更新 更多