<code>if($row){ //判断密码是否正确 if($row['user_password']===$password){ echo 1; }else{ echo "密码错误"; } }else{ echo "没找到用户名"; } </code>
上面程式碼用來驗證使用者輸入的使用者名稱和密碼正確與否,為了方便看我把程式碼簡化去掉了取得資料庫資料的內容,為什麼當開啟頁面後什麼都沒輸就會輸出"沒找到使用者"呢?
<code>if($row){ //判断密码是否正确 if($row['user_password']===$password){ echo 1; }else{ echo "密码错误"; } }else{ echo "没找到用户名"; } </code>
上面程式碼用來驗證使用者輸入的使用者名稱和密碼正確與否,為了方便看我把程式碼簡化去掉了取得資料庫資料的內容,為什麼當開啟頁面後什麼都沒輸就會輸出"沒找到使用者"呢?
if($row)這一段程式碼需要寫在POST請求碼區塊裡。這樣get時,才不會執行這段程式碼。
例如點選登陸後,提交的使用者和密碼欄位分別為:username password
<code>$username = isset($_POST['username']) ? $_POST['username'] : false; $password = isset($_POST['password']) ? $_POST['password'] : false; if($username && $password){ if($row){ //判断密码是否正确 if($row['user_password']===$password){ echo 1; }else{ echo "密码错误"; } }else{ echo "没找到用户名"; } } </code>
你把$row印出來看是什麼東西
那表示你打開網頁時就執行這段程式碼了,而且if判斷為假
既然印了沒找到用戶,說明 $row
為假,那你應該著重關注獲取 $row
的代碼,而不是你關注貼出來的代碼