0
ログイン、登録オプションでプロジェクトを実行していますが、プロファイルにログインする際に問題が発生しました。num_rows with functionallity
電子メールに正しいデータを入力した後、パスワードフィールドには成功のテキストは表示されませんが、誤ったユーザー名またはパスワードが返されます。
if($st->num_rows() == 1){
さんが見ているところでは、問題が起こることはありませんが、問題を解決する方法は見つからないようです。あなたは結果を確認するために$st->num_rows() == 1
を使用
public function Login($Email, $Password){
if(!empty($Email) && !empty($Password)){
$st = $this->db->prepare("SELECT * FROM usertable WHERE Email=? and Password=?");
$st->bind_Param("ss", $Email,$Password);
//$st->bindParam(2, $Password);
$st->execute();
if($st->num_rows() == 1){
echo 'Login Was Sucessfull';
header('Location: Success.php');
}else {
echo 'Incorrect Username Or Password';
}
}else {
echo '<script type="text/javascript">alert("Please Enter Username or Password");</script>';
}
}
として出力されている場合
サイドノートも、PHPのヘッダは動作しません。**プレーンテキストのパスワードを保存しないでください!** *** PHPの[組み込み関数]を使用してください( http://jayblanchard.net/proper_password_hashing_with_PHP.html)***パスワードセキュリティを処理する。 5.5より小さいPHPバージョンを使用している場合、 'password_hash()' [互換パック](https://github.com/ircmaxell/password_compat)を使用することができます。 ***ハッシュする前に[パスワードをエスケープする](http://stackoverflow.com/q/36628418/1011527)***または他のクレンジングメカニズムを使用する必要はありません。パスワードを変更すると、パスワードが変更され、不要な追加のコーディングが発生します。 –
'header()'はあなたを他のURLにリダイレクトします。あなたは 'header()'が何をするのか知っていますか? –
あなたは '$ st-> num_rows()'がその値が何であるかを確認したことが問題だと思いますか? –