0

単一のフォーム ボックスから基本データを保存したいと考えており、この php コード ベースを作成しましたが、機能していないようです。誰かが一瞥して、これが機能しない理由が何か際立っているかどうかを確認できますか. 編集: csv ファイルが新しいデータで更新されることはありません

if (isset($_POST["submit"])) 
{ 
    $name = $_POST["name"]; 
    date_default_timezone_set('America/New_York');
    $date = date('Y-m-d H:i:s');

    if (empty($name)) 
    { 
        echo "ERROR MESSAGE"; 
        die; 
    } 
    $cvsData ='"$name","$date"'.PHP_EOL; 
    $cvsData .= "\"$name\",\"$date\"".PHP_EOL; 
    $fp = fopen("emailAddressses.csv", "a");

    if ($fp) 
    { 
        fwrite($fp,$cvsData); // Write information to the file 
        fclose($fp); // Close the file 
    }
}
4

3 に答える 3

7

PHPでより良い方法を使用してください:fputcsv

それ以外の場合は、ケースで達成するために多くのエラー処理を行う必要があります。

$list = array (
    array('First Name', 'Last Name', 'Age'),
    array('Angelina ', 'Jolie', '37'),
    array('Tom', 'Cruise', '50')
);

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
于 2013-05-24T19:06:35.973 に答える
3

fputcsvを調べる必要があります。これにより、ファイルに CSV が追加され、フィールドと行末が処理されます。

fputcsv($fp,array(array($name,$date)));

必要に応じて区切り記号などを指定することもできます。

于 2013-05-24T18:53:40.533 に答える
0

この部分は期待どおりに動作しません。変数は単一引用符内では評価されません。

$cvsData ='"$name","$date"'.PHP_EOL;

二重引用符を使用する必要があります。

$cvsData ="\"$name\",\"$date\"".PHP_EOL; 
于 2013-05-24T18:47:12.290 に答える