ログイン画面を作る

ログイン画面を作る

管理画面はいろいろな機能が必要です。

 

■勉強の順番

1.新規登録をできるようにする

2.ログインできるようにする

 

■新規登録

・DB作り

・アクセス、インサートできるようにする

・モデルを作り、DBにアクセスする

・セレクト文を作り

 

こちらを参照>>

ログイン画面の参照>>

 

データベースの設定
 ユーザ登録用のテーブルの作成

 

CodeIgniterの初期セットアップ
モデルの初期設定
コントローラの初期設定

会員登録ページに必要なmodel作成
ユーザ情報をDBにインサートするメソッドを作成

会員登録ページのcontroller作成

 

バリデーションの作成
バリーデーションを実行した時の場合分け
失敗→もう一度登録ページに飛ばす
成功→モデルの登録メソッドを使い、ユーザ情報をインサート
インサート成功もしくは不成功のメッセージを表示

 

会員登録ページのview作成

ログインページに必要なmodel作成
POSTされたemailとpasswordの情報に一致する情報を取得

ログインページのcontroller作成
POSTされたemailと passwordのバリデーションチェック
バリーデーションを実行した時の場合分け
失敗→もう一度ログインページに飛ばす
成功→モデルのログインメソッドを使い、一致する情報があるかチェック
情報がある→セッションを埋め込む ログアウトページに遷移

ログアウトページのcontroller作成
セッションを破棄するメソッドを作成

ログアウトページのview作成

 

初期セットアップ

CodeIgniterでは、予め「autoload.php」設定ファイルで自動ロード設定をしておく

コントローラクラスなどで 利用時にファイルを自動でロードできる。 全てのアクセスに対して共通でロードすることができます。

 

【注意点】

しかし、全てのアクセスで自動ロードされるため、あまり使われないものを設定して自動ロードしてしまうと 余計なオーバーヘッドが発生してしまいます。

自動ロードでは、一つのクラスに対し一つのインスタンスしかロードされません。

一つのクラスを複数のインスタンスで利用する場合では個別にロードする必要があります。

自動ロード設定はよく考慮してから行いましょう。

 

■自動ロードする、ライブラリクラスを設定

$autoload['libraries'] = array('Session', 'Mylibrary');

 

 

都度、使う場合は

$this->load->library('Session');
$this->load->library('Mylibrary', $config, 'mylib');

 

ヘルパーの追加

編集ファイル:application/config/autload.php

 

$autoload['helper'] = array('form','url');

 

■formヘルパー

FORMヘルパーは「 system/helper/form_helper.php 」ファイルで、HTMLのFROMで利用されるタグを出力する 関数が定義されています。

ヘルパーの参照>>

 

modelとコントローラ

モデルとコントローラの初期設定をします。

使用頻度の高い、ヘルパーとライブラリを先に読み込んでおく作業です。

 

まずはモデルを作る。

 

編集:application/models/User_model.php

 

application/models/User_model.php

 

コードの状態

class User_model extends CI_Model {

public function __construct()
{
$this->load->database();
}

 

 

Controllers

編集:application/controllers/User.php

 

コントローラ

class User extends CI_Controller{

public function __construct()
{
parent::__construct();
$this->load->model('user_model');
$this->load->helper(array('form', 'url'));
$this->load->library(array('session', 'form_validation'));
}

 

実際の開発ではmd5のみではセキュリティーは不十分です。今回は簡単のためmd5のみを使用しています。

 

model作成

会員登録に必要なメソッドをモデルに書いていきます。
会員情報をDBにインサートするメソッドです。コンストラクタの後に書くのが大事です。

 

public function set_user()
{
$data = array(
'firstname' => $this->input->post('firstname'),
'lastname' => $this->input->post('lastname'),
'email' => $this->input->post('email'),
'password' => md5($this->input->post('password'))
);
return $this->db->insert('user', $data);
}

 

POSTで受け取った各変数をuserテーブルにインサートしています。

この数行でインサートできるのが、コードイグナイターのすごいところです。

 

Passwordを受け取った時にmd5で暗号化しセキュリティーを向上させています。

実際の開発ではmd5のみではセキュリティーは不十分です。今回は簡単のためmd5のみを使用しています

 

Controller作成

ファイルの作成:aplication/controllers/User.php

 

public function index()
{
$this->register();
}

public function register()
{
$this->form_validation->set_rules('firstname', 'First Name', 'trim|required|alpha|min_length[3]|max_length[50]');
$this->form_validation->set_rules('lastname','Last Name','trim|required|alpha|min_length[3]|max_length[50]');
$this->form_validation->set_rules('email','Email','trim|required|valid_email|is_unique[user.email]');
$this->form_validation->set_rules('password','Password','trim|required|matches[cpassword]');
$this->form_validation->set_rules('cpassword','Confirm Password','trim|required');
$data['title'] = 'Register';

if($this->form_validation->run() === FALSE)
{
$this->load->view('user/register');
}
else
{
if ($this->user_model->set_user())
{
$this->session->set_flashdata('msg_success','Registration Successful!');
redirect('user/register');
}
else
{
$this->session->set_flashdata('msg_error','Error! Please try again later.');
redirect('user/register');
}
}

}

 

Flashdataは一度呼び出されるとデータが自動的にクリアされるセッションです。

 

 

管理画面全体

ちなみに管理画面で必要なページというと

・Login画面

・検索機能つき一覧画面

>検索項目入力フォーム

>検索内容ヴァリデーションチェック

>一覧表示

>ページング

>入力サポート(日付設定ならカレンダーが出る、など)

 

■新規登録(編集)
>検索項目入力フォーム
>検索内容ヴァリデーションチェック
>入力サポート(日付設定ならカレンダーが出る、など)

 

だけど、いきなりここから着手するなんて無理。
一連の作業が完結するサイトを作るところから始めるといいかも。

 

 

【まずは】

一覧→編集→バリデートチェック→保存→削除

 

ここから作ると良い。

 

CodeIgniterで管理画面を作ることになった参照>>

 

tank_authを使う

認証ライブラリがある。

 

・ユーザー名でもメールアドレスでもログイン可能(configファイルで調整可能)

・簡単な登録か、メールによるアクティベーション(オプション)

・ログイン情報を覚えておく機能

・パスワード忘れ対応(ユーザーは再アクティベーションする際に新しいパスワードに変更)

・パスワードやメールアドレスの変更をユーザー自身で行う

・アカウントがアクティブであっても、メールアドレスやパスワードを変更できる

・ユーザーの非アクティブ化(Ban)(オプション)

 

・ユーザーのプロフィール(オプション)

・CAPTCHAをサポート(CIオリジナルかreCAPTCHAが使用可能)

・HTMLかプレーンテキストのメール機能

参照>>

 

■他にも使うなら

Ion Auth

SimpleSAMLphp

 

groceryCRUDとtank_authで簡単に管理画面と認証機能を作る

 

 

 

参照サイト

ダウンロードできない>>

 

 

大変申し訳ありませんが、当社ではサービスの質を落とさないために、月の契約は5件までとさせていただいております。 契約をお待ちいただく可能性もございますので、ご了承のほどよろしくお願いいたします

 

 

 

コードイグナイターの勉強方法

 

 

この記事を読んだ人は、こんな記事も読んでいます

 

SEO対策の基本 外部要因とは?

SEO対策の基本的である、外部要因とは何か?

SEO対策をするなら絶対に知っておきたい、基本知識です。

 

売れるサイトを作るのに知って起きたい知識

サーチエンジンマーケティングという言葉をご存知でしょうか?

ホームページで商品やサービスを売る時に知っておきたいマーケティング

についてご紹介いたします。

seo対策をするメリットとは

SEO対策をする5つのメリットとは?

なぜ上位表示させることが大事なのか?なぜSEO対策をする必要があるのか

についてご紹介させていただきます。

 

内部要因とは

SEO対策の内部要因とは?

上位表示させるためには、内部要因について知っておくことも大事です。

キーワードを上位表示させるために必要なのは、ソースコードを最適化することです

内部要因の対策について知りたい方はこちらへ

 

キーワード対策をするまえに

キーワード対策をする前に

そのキーワード対策。ちょっと待ってください。

そのまま対策をすると、必ずお金を損してしまいます。個人事業主や中小企業は

そんな大きなキーワードで対策をしてはいけません。

広告費用が高くなる理由とは

広告費用が高くなる本当の理由とは?

売れないサイトに集めていませんか?広告費用がかかるわりには

お問い合わせが少ない・・・と感じる方は多いはずです。

購入率の悪いサイトに集客をしている可能性があります。

 

 

 

 

【SEO対策・web広告・webコンサルティングのプラスワーク対応エリアについて】

プラスワークでは、東京、神奈川、千葉、埼玉を中心に全国でwebコンサルティング、SEO対策、ホームページの更新、ホームページのリニューアル運営代行をしております。売上アップをお考えならお気軽にご相談ください。

 

【SEO対策・web広告・webコンサルティングのプラスワーク 対応地域】

北海道 [ 北海道 ]

東北  [ 青森 | 岩手 | 山形 | 福島 | 秋田 | 宮城 ]

関東  [ 東京 | 埼玉 | 千葉 | 茨城 | 栃木 | 群馬 | 神奈川 ]

甲信越 [ 山梨 | 長野 | 新潟 ]

北陸  [ 石川 | 福井 | 富山 ]

東海  [ 愛知 | 静岡 | 岐阜 | 三重 ]

近畿  [ 大阪 | 兵庫 | 京都 | 滋賀 | 奈良 | 和歌山 ]

中国  [ 島根 | 山口 |鳥取 | 広島 | 岡山 ]

四国  [ 徳島 | 香川 | 愛媛 | 高知 ]

九州  [ 福岡 | 佐賀 | 長崎 | 熊本 | 大分 | 宮崎 | 鹿児島 ]

プラスワークでは全国でSEO対策、ホームページ更新、制作をしております。中小企業専門SEO対策・ホームページ更新制作会社、ダイレクト レスポンス マーケティング、ウェブ マーケティング、マーケティング 分析、口コミのよいSEO対策会社をお探しならプラスワークにお任せくださいませ。

 

 

【コンテンツ】

トップへ

更新レスキュー

料金について

制作実績

お客様の声

よくある質問

会社概要

お問い合わせ

【更新レスキュー】

ライトコース

ゴールドコース

プラチナコース

 

【その他】

ニュース

メルマガ登録

特別資料プレゼント

相互リンク募集中

【課題から探す】

ホームページの課題

SEO対策とは

SEO対策がダメな理由

上位表示されない理由

相互リンクとは

順位が落ちてしまう原因

 

 

フェイスブック  ツイッター