亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP寫的登錄模塊里無法檢驗中文用戶名

PHP寫的登錄模塊里無法檢驗中文用戶名

PHP
牛魔王的故事 2019-03-07 02:04:11
代碼如下 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數據庫里的一個用戶名,在 if($_SESSION['usr_name'] == "普通用戶") 這里 換成數據庫里存在的某個英文用戶名就可以執行成功,不然的話一直提示密碼錯誤。 改了PHP的輸出編碼格式 header("Content-type: text/html; charset=utf-8");還是不行,mysql里username字段都是utf-8格式。 如同采納答案所說,在連接數據庫之后加上 mysqli_query($con,'set names utf8'); 即可。 謝謝各位。
查看完整描述

7 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

用戶類型 在數據庫里面不建議用中文 1普通用戶 2管理員 這樣表示

你的代碼鏈接數據庫之后要設置charset

查看完整回答
反對 回復 2019-03-18
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

這個跟輸出編碼沒什么關系,你直接看$row['name'],是不是'普通用戶',還有session是不是寫成功了

查看完整回答
反對 回復 2019-03-18
?
手掌心

TA貢獻1942條經驗 獲得超3個贊

1.不建議使用中文
2.使用trim()函數清楚$_SESSION['usr_name']內容是否存在留空情況

查看完整回答
反對 回復 2019-03-18
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

usr_name打印出來看一下不就知道了

查看完整回答
反對 回復 2019-03-18
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

最好代碼中不要定義中文,用數字表示。

查看完整回答
反對 回復 2019-03-18
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

可以看一下是不是數據庫連接的 charset 設置問題。

ps:用戶的英文是 user 不是 usr,改了吧,別讓后人罵你。

查看完整回答
反對 回復 2019-03-18
?
森欄

TA貢獻1810條經驗 獲得超5個贊

確保php文件的編碼和連接數據庫讀出的字符編碼一致,比如都是utf8

查看完整回答
反對 回復 2019-03-18
  • 7 回答
  • 0 關注
  • 598 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號