這個問題在這里已經有了答案:
如果有人能幫助我,我會很高興。感謝您的閱讀。
uj5u.com熱心網友回復:
您的錯誤訊息與您的代碼不符。訊息顯示“索引:用戶名”,但您正在檢查 $registo['myusername']。無論如何,在您的查詢中,您只需選擇 id!您的 $registo 不能有“我的用戶名”。選擇您需要的所有欄位,然后在將其分配給會話之前檢查陣列是否具有該鍵。
uj5u.com熱心網友回復:
您的代碼中有兩個問題。正如每個人所指出的,您不是選擇用戶名列來解決它,$sql = ("SELECT id FROM login WHERE user = '$myusername' and pass = '$mypassword';");而是將其
更改為
$sql = ("SELECT id,user FROM login WHERE user = '$myusername' and pass = '$mypassword';");
其次是線
$_SESSION['myusername'] = $registo['myusername'];
應該改為
$_SESSION['myusername'] = $registo['user'];
bcos 您的表沒有名為 myusername 的欄位,只有用戶在那里。這就是您收到未定義通知的原因
uj5u.com熱心網友回復:
有兩種方法可以使用:
- 用于
isset()檢查此類索引是否存在:
if (isset($registo['myusername']))
{
$_SESSION['myusername'] = $registo['myusername'];
}
- 用于
@抑制任何警告。
$_SESSION['myusername'] = @$registo['myusername'];
那只是為了處理提到的錯誤。但是查看代碼,似乎您不是myusername從資料庫查詢,只是id被查詢。也許您應該先修復您的資料庫查詢。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/366219.html
