Php 将脱机html表单数据存储在csv文件中
我正在寻找一个简单的解决方案,希望这是一个简单的问题。我想让一台笔记本电脑设置一个离线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,
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标签之间。。。