这里没有什么可以防止重复。
创建表时\'church\'
一个好主意UNIQUE
字段电子邮件的sql索引,这样您就可以依靠电子邮件地址来防止重复条目。
作为一种通用的PHP良好实践,您应该在使用变量之前检查它的存在,使用isset
功能:
/* If $_POST[\'email\'] is setted and it is a valid email address */
if ( isset($_POST[\'email\']) && filter_var($_POST[\'email\'], FILTER_VALIDATE_EMAIL) ) {
global $wpdb;
$exists = $wpdb->get_var( $wpdb->prepare(
"SELECT COUNT(*) FROM \'church\' WHERE email = %s", $_POST[\'email\']
) );
if ( ! $exists ) {
/* Your insert code here */
}
}
另一个好主意是在自定义表名称之前预先添加WordPress表前缀。