試圖在網站上實施gravatar。這裏是返回gravatar鏈接的代碼。mySQL中的字符串是否與手動指定的字符串匹配?
function getGravatar(){
$email = $userInfo['email'];
$trimmed = trim($email);
$md5 = md5(strtolower($trimmed));
$gravatar = "http://www.gravatar.com/avatar/" . $md5;
return $gravatar;
}
上面的代碼不工作,但如果我用$email = "[email protected]";
(用的gravatar關聯的電子郵件)取代$email = $userInfo['email'];
它的工作。在這兩種情況下,我都回應了$ md5,並發現每種情況下散列值都不相同。
我認爲這意味着我有$ userInfo ['email']的問題,但echo $userInfo['email']
印有「[email protected]」。所以我不知道爲什麼這兩個產生不同的散列值。
電子郵件存儲在MySql數據庫中。該代碼生成$ USERINFO:
$query = "select * from users where username = '$username'";
$result = mysql_query($query);
$userInfo = mysql_fetch_array($result);
這是你正在使用的真正的代碼? '$ userInfo'沒有在'getGravatar()'的範圍內定義。沒有'global'關鍵字可以從全局範圍導入變量,並且該函數也沒有參數。 ''userInfo'從哪裏來? – Kaii 2012-02-29 15:41:06