クリスマスですね!
なんと最終日!!!!!
アドベントカレンダー全部埋まってます。なんという奇跡!
この記事はCodeIgniterアドベントカレンダーのために書きました! 25日目最終日!!!
https://qiita.com/advent-calendar/2017/code_igniter
CodeIgniter3のチュートリアルをリファクタリング(5) では、ログインフォームのviewファイルを用意するところまで終わりましたよ! アドベントカレンダーが終わっても記事はこのまま書き続けてしまおうと思います。はい!
viewファイルを作り始めました。
とりあえず、formを全てHTMLで作ってみましたが、CodeIgnier3にはform helperがあるんですよね!
今日のテーマは、
formをform helperを使って書こう!
です
https://www.codeigniter.com/user_guide/helpers/form_helper.html
form helperを使えるようにします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
< ?php defined('BASEPATH') OR exit('No direct script access allowed'); /** * 認証 * Class Auth */ class Auth extends CI_Controller { /** * ログイン */ public function login() { //フォームヘルパーを使えるようにする $this->load->helper('form'); //ログインフォームを表示する $this->load->view('Auth/login') ; } /** * ログアウト */ public function logout() { //ログアウト完了画面 echo 'ログアウト'; } } |
次は実際にviewファイルで使ってみますね。
formタグ部分がhelperになりました。
1 2 3 4 5 6 7 |
< ?php echo form_open('/login'); echo form_input("login_id" , "" , ['class'=>'form-control', 'placeholder'=>'ログインID' ]); echo form_password("password" , "" , ['class'=>'form-control', 'placeholder'=>'パスワード' ]); echo form_submit('login', "ログイン", ['class'=>'btn btn-primary form-control']); echo form_close(); ?> |
この部分の出力されたHTMLはこんな感じになります。
1 2 3 4 5 |
<form action="http://{設置した場所}/login" method="post" accept-charset="utf-8"> <input type="text" name="login_id" value="" class="form-control" placeholder="ログインID" /> <input type="password" name="password" value="" class="form-control" placeholder="パスワード" /> <input type="submit" name="login" value="ログイン" class="btn btn-primary form-control" /> </form> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /** * 認証 * Class Auth */ class Auth extends CI_Controller { /** * ログイン */ public function login() { if($this->input->post()) { echo "POSTデータを取得<br>"; echo $this->input->post('login_id') ; return ; } //フォームヘルパーとURLヘルパーを使えるようにする $this->load->helper(['form', 'url']); //ログインフォームを表示する $this->load->view('Auth/login') ; } /** * ログアウト */ public function logout() { //ログアウト完了画面 echo 'ログアウト'; } } |
実際にフォームボタンを押してみましょう。
POSTデータを取得
{実際に入力したログインID}
が表示されました☆
postデータがあれば、$this->input->post(); ではPOSTされた値が配列で取得できます。
フォームと、ログインの情報が送信された場合の出しわけができました。
次に、実際にログインの処理を作っていきましょう