0

うまくいけば単純な問題に対する単純な解決策を探しています。csv ファイルをフィードする非常に短い形式のオフライン html ファイルを使用してラップトップをセットアップしたいと考えています。私はこれfputcsv()を行う機能に注目してきましたが、私は最も才能のあるプログラマーではありません。次のような単純なフォームがあるとします。

<?php
    if(isset($_POST['submit']))
    {
        $myfile = fopen('file.csv', 'w');
        fputcsv($myfile,
            array($_POST['first-name'], $_POST['last-name'], $_POST['email']));
        fclose($myfile);
    }
?>

<article role="main">

    <header role="banner">

        <h1>Email Updates</h1> 

    </header> 

    <section>

    <form id="form1" name="form1" method="post" action="<?=$_SERVER['PHP_SELF'];?>">

        <input type="text" id="first-name" maxlength="100" autocorrect placeholder="First name" />
        <input type="text" id="last-name" maxlength="100" autocorrect placeholder="Last name" />
        <input type="text" id="email" maxlength="100" autocorrect placeholder="Email address" />

        <button type="submit" id="submit" class="oneup">Submit</button>

    </form>

    </section> 

</article>

単純なcsvファイルをフィードするには、どのようなコードが必要ですか?

4

3 に答える 3

1

フォームが (正しく) 送信されたら (if)、次のようにします。

if( $fp = fopen('file.csv', 'w') )
{
  fputcsv($fp, $_POST);
}
fclose($fp);
于 2012-02-14T17:15:01.117 に答える
0

djotの答えと同様に、私はこれを使用します:

if( $fp = fopen('file.csv', 'w') ){
    fputcsv($fp, print_r($_POST, true));
}
fclose($fp);

true フラグが設定された print_r に注意してください。これにより、人間が読みやすくなります。

実際にCSVとして書きたい場合は、次を使用してください:

$data = implode(',' $_POST);
if( $fp = fopen('file.csv', 'w') ){
    fputcsv($fp, $data);
}
fclose($fp);
于 2012-02-14T17:25:10.770 に答える