我有一个处理表单的PHP例程,并将值输出到CSV文件。我正在使用array_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
如何从标题和数据中省略提交按钮?
这是我的代码:
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');
}
}
答案 0 :(得分:10)
从阵列中删除它......
$post = $_POST;
unset($post['submit']);
$data = array_values($post); // get only values
$headers = array_keys($post); // keys are headers
答案 1 :(得分:1)
从html
中的“提交”按钮中删除该名称而不是
if(isset($_POST['submit']))
使用
if($_SERVER["REQUEST_METHOD"] == "POST")
答案 2 :(得分:0)
array_pop()
将删除数组的最后一个元素:
$data = array_pop(array_values($_POST)); // get only values
$headers = array_pop(array_keys($_POST)); // keys are headers