显示用户内容

时间:2011-10-23 22:46:51

标签: php mysql

if (! isset($_GET['user_id'])) {
    $query = "
        SELECT 
            username, first_name, last_name, gender, birthdate, city, state, picture
        FROM 
            mismatch_user 
        WHERE 
            user_id = '" . $_SESSION['user_id'] . "'";
}

这是我用来显示登录用户信息的代码。我将如何对其进行编码,以便您可以在同一个profile.php脚本中查看其他配置文件?

2 个答案:

答案 0 :(得分:0)

我不确定问题是什么。以下查询怎么样?

$query = "SELECT username, first_name, last_name, gender, birthdate, city, state, picture FROM mismatch_user WHERE user_id = '" . mysql_real_escape_string($_GET['user_id']) . "'";

请注意,您的代码容易受到SQL注入攻击。始终使用mysql_real_escape_string()来转义发送到数据库的用户输入。

答案 1 :(得分:0)

我假设$ _GET ['user_id']在你想要查看另一个用户的个人资料的情况下会有一个值,如果没有指定user_id,则应该显示登录用户的个人资料:

isset($_GET['user_id']) ?
    $user_id = (int) $_GET['user_id'] :
    $user_id = $_SESSION['user_id'];

$query = "
    SELECT 
        username, first_name, last_name, gender, birthdate, city, state, picture
    FROM 
        mismatch_user 
    WHERE 
        user_id = '" . $user_id . "'";

为$ _GET赋值转换为int将阻止SQL注入。