php ログインが出来ない
- 評価
- クリップ 1
- VIEW 979
前提・実現したいこと
PHPでログイン認証システムを作っています。
下記ページの通りに入力してみたのですが、dbに登録されているmail,passwordを入力してもエラーになってしまいます。
会員登録は上手く行きましたので、db接続、insertはできています。
http://marino.hatenadiary.jp/entry/2015/04/01/174834
発生している問題・エラーメッセージ
下記をHTMLに入れており、「ログインに失敗しました。正しくご記入ください。」と表示されます。下記を無くすと何も表示されません。
<?php if($error['login'] == 'blank'): ?>
<p><font color="red">* メールアドレスとパスワードをご記入ください</font></p>
<?php endif; ?>
<?php if($error['login'] == 'failed'): ?>
<p><font color="red">* ログインに失敗しました。正しくご記入ください。</font></p>
<?php endif; ?>
該当のソースコード
<?php
require('db_connect.php');
session_start();
if(!empty($_POST)){
//ログインの処理
if($_POST['mail'] != '' && $_POST['password'] != ''){
$sql = sprintf('SELECT * FROM user WHERE mail="%s" AND password="%s"',
mysqli_real_escape_string($db, $_POST['mail']),
mysqli_real_escape_string($db, sha1($_POST['password']))
);
$record = mysqli_query($db, $sql) or die(mysqli_error($db));
if($table = mysqli_fetch_assoc($record)){
//ログイン成功
header('Location: login_success.php');
exit();
}else{
$error['login'] = 'failed';
}
}else{
$error['login'] = 'blank';
}
}
?>
補足情報(言語/FW/ツール等のバージョンなど)
参照サイトはpassとなていますが、当方のサイト上passwordに変更しています。
PHPのバージョンは5.0.95です
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
passwordを sha1 変換したものをDBに登録、比較しているので、DB上の password を入力しても合致しません。sha1変換前の password を入力する必要があります。
自前のログインシステムを作る前にご一読を
ログインシステム(WEB) 自作?危険?セキュリティ対策は?
結構ハードル高いですよ。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.33%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/06/06 14:23