ログイン処理の実装
#12 ログイン処理を作っていこう
http://dotinstall.com/lessons/sns_php_v2/9612
を参考に
新規登録処理のあとのログイン処理について学習
その前に登録処理の動作確認
適当に名前、メールアドレス、パスワードを入力し
エラーがないのを確認したら
開発環境のサーバーで
mysql -u root -p
でログインして
use dotinstall_sns_php;
でDBを指定
select * from users;
として
今回登録したユーザが入っているならOK
また、パスワードについては暗号化されているのが確認できる
ここまでエラーが起きなければ
次のログイン処理になるけど
もしエラーが起きているのなら
HTTPステータスコード
http://www5.plala.or.jp/vaio0630/mail/st_code.htm
も見ながらデバッグする
デバッグ完了したら
login.php の編集
ソースがそのままなら
singup.php の
32行目あたりの
if ($_SERVER[‘REQUEST_METHOD’] != ‘POST’) {
から
86行目の if の終了あたりまでをコピーし
login.php の
if (!empty($_SESSION[‘me’])) {
header(‘Location: ‘.SITE_URL);
exit;
}
のしたあたりにペースト
内容はその後編集して
if ($_SERVER[‘REQUEST_METHOD’] != ‘POST’) {
// CSRF対策
setToken();
} else {
checkToken();
$email = $_POST[‘email’];
$password = $_POST[‘password’];
$dbh = connectDb();
$err = array();
if (empty($err)) {
}
}
となり、処理は新たに作成する
トークンチェックも行うので
singup.php から
<input type=”hidden” name=”token” value=”<?php echo h($_SESSION[‘token’]); ?>”>
をコピペし
login.php の
</form>
の上あたりに貼りつける
そして、signup.php で作ったユーザ関数は
今後も使うので
functions.php へコピーして
どのファイルからでも読み込んで使えるライブラリにする
書き込む場所は
function h($s){
}
のしたあたり