хранить данные офлайн формы HTML в CSV-файле - PullRequest
0 голосов
/ 14 февраля 2012

Я ищу простое решение, которое, мы надеемся, является простой проблемой.Я хочу настроить ноутбук с автономным html-файлом с очень короткой формой, которая подает файл csv.Для этого я искал функцию 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?

Ответы [ 3 ]

1 голос
/ 14 февраля 2012

Когда (если) форма отправлена ​​(правильно), сделайте следующее:

if( $fp = fopen('file.csv', 'w') )
{
  fputcsv($fp, $_POST);
}
fclose($fp);
0 голосов
/ 14 февраля 2012

Аналогично ответу djot, я бы использовал это:

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

Обратите внимание на print_r с флагом true, так как это делает его более читабельным для человека.

Если вы действительно хотелинапишите это как CSV, просто используйте:

$data = implode(',' $_POST);
if( $fp = fopen('file.csv', 'w') ){
    fputcsv($fp, $data);
}
fclose($fp);
0 голосов
/ 14 февраля 2012

Когда эта форма отправляется, она заполняет массив $ _POST.

Итак, вам нужно добавить код PHP, который обрабатывает отправленные значения.

Например:

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