代碼如下
if ($row = mysqli_fetch_array($result)) {
$_SESSION['usr_id'] = $row['id'];
$_SESSION['usr_name'] = $row['name'];
$_SESSION['usr_password']=$row['password'];
if($_SESSION['usr_name'] == "普通用戶"){
header("Location: index.html");
}
else
header("Location: index.php");
} else {
$errormsg = "郵箱或密碼不正確";
}
“普通用戶”是mysql數(shù)據(jù)庫里的一個用戶名,在 if($_SESSION['usr_name'] == "普通用戶") 這里 換成數(shù)據(jù)庫里存在的某個英文用戶名就可以執(zhí)行成功,不然的話一直提示密碼錯誤。
改了PHP的輸出編碼格式 header("Content-type: text/html; charset=utf-8");還是不行,mysql里username字段都是utf-8格式。
如同采納答案所說,在連接數(shù)據(jù)庫之后加上 mysqli_query($con,'set names utf8'); 即可。
謝謝各位。
7 回答

BIG陽
TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個贊
用戶類型 在數(shù)據(jù)庫里面不建議用中文 1普通用戶 2管理員 這樣表示
你的代碼鏈接數(shù)據(jù)庫之后要設(shè)置charset

拉丁的傳說
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個贊
這個跟輸出編碼沒什么關(guān)系,你直接看$row['name'],是不是'普通用戶'
,還有session是不是寫成功了

手掌心
TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個贊
1.不建議使用中文
2.使用trim()函數(shù)清楚$_SESSION['usr_name']內(nèi)容是否存在留空情況

互換的青春
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個贊
可以看一下是不是數(shù)據(jù)庫連接的 charset 設(shè)置問題。
ps:用戶的英文是 user 不是 usr,改了吧,別讓后人罵你。
- 7 回答
- 0 關(guān)注
- 593 瀏覽
添加回答
舉報
0/150
提交
取消