编程语言
首页 > 编程语言> > php – 在array_keys中跳过提交按钮[复制]

php – 在array_keys中跳过提交按钮[复制]

作者:互联网

参见英文答案 > PHP: Delete an element from an array                                    35个
我有一个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'); 
    }
}

解决方法:

从阵列中删除它…

$post = $_POST;
unset($post['submit']);
$data = array_values($post); // get only values
$headers = array_keys($post); // keys are headers 

标签:php,fputcsv
来源: https://codeday.me/bug/20190716/1478696.html