PHP的高手们帮忙$user = $_ENV['user']->get_user_by_username($username);$_ENV['user']是一个数组get_user_by_username是一个函数 根据参数username得到数据库里用户的资料
数据库的字段有 uid username password
就是把 这三个值赋给 $_ENV['user'] 在把他赋值给 $user
这是我的理解但是里面有个问题 我PHP基础弱 明白不了
用的时候 $user[]这个数组会有一个 $user['salt']
明明没给他传这个参数 怎么会出现呢
他的password是md5(md5($password).$user['salt'])的 salt好像是一个随机数 但又不是 郁闷我想自己模仿写个登录窗口,但这个地方没弄明白不敢乱写。。

解决方案 »

  1.   

    这里有个登陆机制分析:
    http://imzc.net/show-102-1.html
      

  2.   

    $user['salt'] 这个应该是一个全局的固定字符串 用于连接密码后 再加密 
    注册时写入的时候 应该也是拼上这个字符串加密后 写入数据库
    登录的时候 也是和拼上这个字符串加密后的 字符串比对
      

  3.   

    谢1楼
    跟我分析的差不多 不过比我分析的细多了二楼
    我print_r($_ENV)了
    $user[]是空的数组
    通过$user = $_ENV['user']->get_user_by_username($username);这个东西给他赋值呢
    明明之前这个数组里没有值 然后给他赋值的也没有这个值
    但之后就是有这个了
    我不明白的是他是怎么冒出来的没找到他,我想知道他是怎么出现的
      

  4.   

    随机的  不过存库了
    $salt = substr(uniqid(rand()), -6);
      

  5.   

    那个get_user_by_username()取的是ucenter的数据库members那张表,不是uchome的member表
      

  6.   

    $_ENV['user']->get_user_by_username($username); 这个方法里已经获得了 $salt