FC2ブログ

PHP + MySQL でログイン画面作成

PHP + MySQL でログイン画面作成

#05 ログイン画面を作ろう
http://dotinstall.com/lessons/sns_php_v2/9605
を参考に
ログインチェックとログイン画面作成について学習

ログインチェックは
ログインしていないなら ログイン画面にとばすようにする

この動作をするlogin.php は
cp index.php login.php
でコピーして内容を改造していく

session_start();

if(empty($_SESSION['me'])){
header('location: '.SITE_URL.'login.php');
exit;
}


セッションの中に me という文字があるか調べる
内のなら
header() で指定のURLへ飛ばす
今回はlogin.php に飛ばす

そして、login.php の方のheader では
header('location: '.SITE_URL);
とすることで、index.php に飛ばすことができる

こちらの login.php では
フォームを作成して
メールアドレス
パスワード
の入力欄
そして送信ボタンを作成する
もし、登録していないのであるなら
登録画面になる signup.php へのリンクもつくる

フォームはPOSTで送信する

action="" というように空欄なのは
この
login.php 自身に送信するから

このフォームのソースは
<form action="" method="POST">
<p>メールアドレス:<input type="text" name="email" value=""></p>
<p>パスワード:<input type="password" name="password" value=""></p>
<p><input type="submit" value~"ログイン"><a href="signup.php">新規登録>はこちら</
a></p>
</form>

となる

次に、画面を読み込む前に
signup.php の作成を行う

#06 新規ユーザー登録画面を作ろう
http://dotinstall.com/lessons/sns_php_v2/9606
を参考に、ユーザ登録画面の作成

今後、自分でサービスを作る時にも使うので
覚えておくと後が便利

そして、このsignup.php も
cp login.php signup.php
として、ファイルをコピーしたものを改造したほうが
手間が省ける

この改造点は
すでにログイン判定はすませているので
if による判定を削除

あとはHTML部分の改造

完了したら実行してみたけど
画面が真っ白

ということで設定を変更

219行目のコメントアウトをはずし
sudo vim /etc/apache2/mods-enabled/mime.conf

AddHandler cgi-script .cgi .pl
へ変更

sudo vim /etc/apache2/sites-available/default

10行目へ
ExecCGI
を追記
Options Indexes FollowSymLinks MultiViews ExecCGI
とした

そして
AllowOverride None を
AllowOverride All へ変更し保存

sudo service apache2 restart
したものの、解決しないため

CentOSのローカル開発環境で実験したら
あっさりできた

ということで続き

フォームがPOSTされたか、そうでないかで
処理を分岐するため if を使う

if($_SERVER['REQUEST_METHOD'] !='POST'){
//SCRF対策
setToken();
}else{
checkToken();
}
というようにする

フォームを投稿したときにトークンをセットしておき
そのフォームがPOSTされたときに
値が一致しているか調べる
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック