Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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 WordPress CFDB生成唯一序列号_Php_Wordpress - Fatal编程技术网

Php WordPress CFDB生成唯一序列号

Php WordPress CFDB生成唯一序列号,php,wordpress,Php,Wordpress,我正在研究一种从数据库中使用sevensparks方法生成唯一序列号的方法&联系formdb change form data方法来实现这一点 计数正在工作,但问题是,每当有少数用户在隐藏文本字段中使用预先输入的值提交表单时,我将收到相同id的多次提交 例如001220014001550017 所以我认为添加一个while循环来检查cfdb中的值会更好,但是它仍然没有达到目的。有没有办法做到这一点 在保存一个号码之前,先检查一下数据库。如果数字存在,则增加一个增量;如果不存在,请保存新号码

我正在研究一种从数据库中使用sevensparks方法生成唯一序列号的方法&联系formdb change form data方法来实现这一点

计数正在工作,但问题是,每当有少数用户在隐藏文本字段中使用预先输入的值提交表单时,我将收到相同id的多次提交

例如001220014001550017

所以我认为添加一个while循环来检查cfdb中的值会更好,但是它仍然没有达到目的。有没有办法做到这一点

在保存一个号码之前,先检查一下数据库。如果数字存在,则增加一个增量;如果不存在,请保存新号码

//Define the key to store in the database
define( 'CF7_COUNTER', 'cf7-counter' );

//Create the shortcode which will set the value for the DTX field
function cf7dtx_counter(){
    $val = get_option( CF7_COUNTER, 0) + 1;  //Increment the current count
    return $val;
}
add_shortcode('CF7_counter', 'cf7dtx_counter');

//CFDB change form data before it is saved
function update_counter($formData) {
    // Change $formData
    $formName = 'Contact form 1'; // change this to your form's name
    if ($formData && $formName == $formData->title) {

        while ( $val === get_option( CF7_COUNTER, 0) ) {
            $val++;
            return $val;
        }
        update_option(CF7_COUNTER, $val); //Update the settings with the new count

    }
    return $formData;
}
add_filter('cfdb_form_data', 'update_counter');`

我意识到wordpress的update_选项或add_选项在同时处理多个提交时效果不佳。有什么解决办法吗?我意识到wordpress的update\u选项或add\u选项在同时处理多个提交时效果不太好。有什么解决办法吗?