我需要创建用于编辑配置文件数据的脚本。
我使用POST表单,并检查新值是否与已保存的值不同,即会话数组中的值,然后刷新页面以立即显示新的价值观。问题是我无法在刷新页面时找到一种方法来编写:
if((isset($_POST['name'])) AND ($_POST['name'] != $profile_name)){
$profile_name = mysql_real_escape_string($_POST['name']);
$update_query = "UPDATE `users` SET `name` = '" . $profile_name . "' WHERE `uid` = '" . $profile_uid . "'";
$update_query_send = mysql_query($update_query);
$_SESSION['name'] = $profile_name;
header('location: #');
}
我需要为每个变量编写此代码,例如姓氏,年龄等,刷新位于每个变量的末尾。当所有值都更新时,有没有办法只刷一次页面?
提前致谢。
答案 0 :(得分:1)
为简单起见,您可以这样做,将$did_update
var设置为false,然后设置为did_update
,重定向。它不是最优的,因为还有其他方法包括动态构建UPDATE SQL查询字符串一次UPDATE并使用AJAX发送值,以便没有刷新/重定向。
<?php
$did_update = false;
if($_SERVER['REQUEST_METHOD'] == 'POST'){
//name
if(isset($_POST['name']) && $_POST['name'] != $profile_name){
...
$did_update = true;
}
//surname
if(isset($_POST['surname']) && $_POST['surname'] != $surname){
...
$did_update = true;
}
...
//refresh if done update
if($did_update == true){
exit(header('location: #'));
}
}
?>