如何刷新一个页面,其中只有一个脚本可以更新多个值?

时间:2014-07-02 18:47:01

标签: php mysql

我需要创建用于编辑配置文件数据的脚本。

我使用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: #');

}

我需要为每个变量编写此代码,例如姓氏,年龄等,刷新位于每个变量的末尾。当所有值都更新时,有没有办法只刷一次页面?

提前致谢。

1 个答案:

答案 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: #'));
    }

}

?>