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