我完全陷入了一段代码中。 该代码应检查用户的电子邮件验证链接,并更新数据库中的用户注册状态。
这也可以正常工作,并且数据库将按应有的方式进行更新。
但是即使数据库更新成功,我也总是得到相同的回显输出“无效的代码或电子邮件地址已通过验证”。
奇怪的是,只要这两行不存在,输出就可以完美运行
$update_database = $wpdb->prepare("UPDATE {$databasename_firstregistration}
SET user_regstatus='mailverified' WHERE user_id = %d",$user_id_to_verify);
您知道这种行为的原因是什么?非常感谢。
$wpdb->query($update_database);
$verification_key = $_GET['verify'];
require_once( $_SERVER['DOCUMENT_ROOT'].'/wp-load.php' );
include plugin_dir_path( __DIR__)."/include/global_textblocks.php";
global $wpdb;
/* Check if unverified key is in database and get user id*/
$select_database = $wpdb->prepare("SELECT * FROM {$databasename_firstregistration} WHERE user_verification = %s AND user_regstatus = 'unverified'",$verification_key);
$results_test = $wpdb->get_results($select_database);
foreach($results_test as $results1)
{
echo $results1->user_firstname;
echo $results1->user_lastname;
echo $results1->user_id;
$user_id_to_verify = $results1->user_id;
}
if ($user_id_to_verify != "") {
$update_database = $wpdb->prepare("UPDATE {$databasename_firstregistration}
SET user_regstatus='mailverified' WHERE user_id = %d",$user_id_to_verify);
$wpdb->query($update_database);
echo "Email address is now verified";
}
else
{
echo "Invalid code or email address already verified";
}