Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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/82.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_Forms_Csv_Fputcsv - Fatal编程技术网

Php 将脱机html表单数据存储在csv文件中

Php 将脱机html表单数据存储在csv文件中,php,html,forms,csv,fputcsv,Php,Html,Forms,Csv,Fputcsv,我正在寻找一个简单的解决方案,希望这是一个简单的问题。我想让一台笔记本电脑设置一个离线html文件,它有一个很短的表单,可以提供一个csv文件。我一直在关注fputcsv()函数来实现这一点,但我不是最有天赋的程序员。如果我有这样一个简单的表单: <?php if(isset($_POST['submit'])) { $myfile = fopen('file.csv', 'w'); fputcsv($myfile,

我正在寻找一个简单的解决方案,希望这是一个简单的问题。我想让一台笔记本电脑设置一个离线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>

电子邮件更新
提交(如果)表格时(正确),请执行以下操作:

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

提交此表单时,它将填充$\u 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);
    }
?>

与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);

我已经在html中添加了一些PHP,但仍然没有看到任何数据被输入file.csv。它取决于我把它放在哪里吗?通常这会在HTML表单代码之前。确保服务器正在以php的形式处理您的文件;i、 它有一个.php扩展名,服务器正确地识别它。是的,所有这些条件都满足了。仍然没有结果。请记住,我是离线存储php文件的,所以它不必连接到任何服务器……我指的是处理php文件解析的任何服务器。我以为你正在本地主机上运行一些东西。浏览器本身不会对PHP做任何事情。当我把表单放到网上时,我也看不到任何填充csv文件的内容…我已经编辑了我的原始问题,将整个内容包含在我的body标签之间。。。