gpt4 book ai didi

php - MySQL 没有及时更新以回显更新的记录

转载 作者:行者123 更新时间:2023-11-30 00:08:59 25 4
gpt4 key购买 nike

我有一个表单,可以从数据库中检索有关用户的信息并允许用户更改它,基本上是一个更新个人资料页面。但是,我有一种表单似乎没有更新。

下面是我的表单代码的简化版本,字段较少

<form id="update_profile" action="" method="post"> 
<fieldset><legend>Account Information</legend>

<label>First*</label><br />
<input name="fName" type="text" id="fName" maxlength="50" value="<?php echo $current_user->user_firstname ?>" />
<br />

<!-- Other fields here that update with no problem -->

<label>Email*</label><br />
<input name="email1" type="text" id="email1" maxlength="50" value="<?php echo $current_user->user_email ?>" />

<label>Confirm Email*</label><br />
<input name="email2" type="text" id="email2" maxlength="50" value="<?php echo $current_user->user_email ?>"/>

</fieldset>
</form>

下面是我用于更新数据库的 PHP Post 代码

$loggedInAs = $current_user->ID;
$fName = $wpdb->escape($_POST['fName']);
$email1 = $wpdb->escape($_POST['email1']);
$email2 = $wpdb->escape($_POST['email2']);

// Code to check that the emails match & are valid email addresses

$user_id = wp_update_user(array(
'ID' => $loggedInAs,
'first_name' => $fName,
'user_email' => $email1,
));

问题是,当我更新电子邮件地址时,页面会重新加载,并显示“您的信息已保存”消息,但会显示旧的电子邮件地址,直到页面刷新。页面上的任何其他字段(从第一个字段到最后一个字段)都不会发生这种情况,我正在绞尽脑汁试图找出原因,因为我在代码中看不到任何差异。有人有什么建议吗?我知道数据库每次都会正确更新,因为如果我刷新页面,那么它显示更新的电子邮件就没有问题,或者如果两者不匹配或是无效电子邮件,则抛出错误,但它只是不会将它们显示在表单字段中,就像更新时的其他字段一样。

编辑:大部分完整代码在这里:http://pastebin.com/q8PR97fn

最佳答案

尝试像这样分离全局变量并检查它是否再次发生:

<?php
global $user_email;
get_currentuserinfo();
echo "Email address is: " . $user_email;
?>

关于php - MySQL 没有及时更新以回显更新的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24244611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com