Php 跳过数组_键中的提交按钮
我有一个处理表单并将值输出到CSV文件的PHP例程。我正在使用Php 跳过数组_键中的提交按钮,php,fputcsv,Php,Fputcsv,我有一个处理表单并将值输出到CSV文件的PHP例程。我正在使用array\u keys()创建标题行(如果有标题行,则跳过)。除了最后一个标题词是“提交”之外,其他一切都很完美,因为,当然,我的表单包括一个提交按钮。因此,数据最终如下所示: name,email,cell,dob,study,submit "Temp One",fred@gmail.com,646-325-1111,1995-03-31,8,Submit "Temp Two",tom@gmail.com,646-325-2222
array\u keys()
创建标题行(如果有标题行,则跳过)。除了最后一个标题词是“提交”之外,其他一切都很完美,因为,当然,我的表单包括一个提交按钮。因此,数据最终如下所示:
name,email,cell,dob,study,submit
"Temp One",fred@gmail.com,646-325-1111,1995-03-31,8,Submit
"Temp Two",tom@gmail.com,646-325-2222,1995-03-31,4,Submit
如何从标题和数据中省略submit按钮
这是我的密码:
if(isset($_POST['submit'])) {
$data = array_values($_POST); // get only values
$headers = array_keys($_POST); // keys are headers
if( $fp = fopen('data.csv','a+')) {
$line = fgets($fp);
if(!$line == $headers) {
fputcsv($fp, $headers);
fputcsv($fp, $data);
}
else
{
fputcsv($fp, $data);
}
fclose($fp);
header('Location: thanks.php');
}
}
将其从阵列中删除
$post = $_POST;
unset($post['submit']);
$data = array_values($post); // get only values
$headers = array_keys($post); // keys are headers
从html中的“提交”按钮中删除名称 而不是
if(isset($_POST['submit']))
使用
array\u pop()
将删除数组的最后一个元素:
$data = array_pop(array_values($_POST)); // get only values
$headers = array_pop(array_keys($_POST)); // keys are headers
不错!因此+1工作非常完美-非常感谢!当您打算更多地使用PHP语言时,阅读PHP手册的主题有一定的用处。例如,关于变量和数组的部分:
$data = array_pop(array_values($_POST)); // get only values
$headers = array_pop(array_keys($_POST)); // keys are headers