カテゴリ: CodeIgniter 更新日: 2026/08/03

CodeIgniterで管理画面を作成!初心者向け実践チュートリアル

CodeIgniterで管理画面(Admin)を作成する実践チュートリアル
CodeIgniterで管理画面(Admin)を作成する実践チュートリアル

先生と生徒の会話形式で理解しよう

生徒

「CodeIgniterを使って、Webサイトの管理画面を作ってみたいのですが、何から始めればいいですか?」

先生

「管理画面は、Webサイトの裏側で記事を書いたり、会員情報を修正したりするための大事な場所です。まずは基本的な仕組みを理解しましょう。」

生徒

「プログラミングが初めてで、パソコンもあまり触ったことがないのですが、難しくないですか?」

先生

「大丈夫ですよ。家を作ることに例えて、一つずつ丁寧に解説していきますね。」

1. CodeIgniterの管理画面とは?

1. CodeIgniterの管理画面とは?
1. CodeIgniterの管理画面とは?

管理画面とは、Webサイトの運営者が「ブログの記事を投稿する」「画像をアップロードする」「会員情報を管理する」といった操作を行うための専用ページのことです。Webサイトを「お店」だとすると、表側の画面は「お客さんが入る売り場」、管理画面は「店長だけが入れるバックヤード」にあたります。

CodeIgniter(コードイグナイター)というフレームワークを使うと、このバックヤードを非常に効率よく作ることができます。フレームワークとは、家を建てるときに使う「柱や壁のセット」のようなものです。これを使うことで、ゼロから全部自分で作らなくても、安全で便利な機能を持った管理画面を短時間で作れるようになります。

2. MVCモデルの基本を理解しよう

2. MVCモデルの基本を理解しよう
2. MVCモデルの基本を理解しよう

CodeIgniterで開発をする上で、最も大事な考え方が「MVC」です。これは家の中を役割分担するような仕組みです。

  • Model(モデル):データの倉庫番です。データベースにある情報を整理したり、取り出したりする役割です。
  • View(ビュー):画面の見た目です。お客さんや管理者に見える部分のデザインを担当します。
  • Controller(コントローラー):司令塔です。ユーザーからの命令を受け取り、モデルにデータを頼んで、最後にビューを表示させます。

管理画面を作るということは、この「司令塔」「倉庫番」「見た目」の3つをセットで作るということなのです。

3. 管理画面用のコントローラーを作成する

3. 管理画面用のコントローラーを作成する
3. 管理画面用のコントローラーを作成する

まずは、司令塔であるコントローラーを作ってみましょう。管理画面の最初のページとして「ダッシュボード」を作ります。CodeIgniterでは、app/Controllersという場所にプログラムを置きます。


namespace App\Controllers;

class Admin extends BaseController
{
    public function index()
    {
        return view('admin/dashboard');
    }
}

このコードは「Admin」という管理画面用の司令塔を用意し、indexという機能が呼ばれたら、admin/dashboardという見た目(View)を表示しなさい、という指示を出しています。

4. 管理画面の見た目(View)を作る

4. 管理画面の見た目(View)を作る
4. 管理画面の見た目(View)を作る

次に、実際に管理者が目にする画面のデザインを作ります。app/Views/admin/dashboard.phpというファイルを作成しましょう。HTMLを使って、簡単な見出しを表示させます。


<h1>管理画面ダッシュボード</h1>
<p>ようこそ、管理者さん。ここからサイトの情報を更新できます。</p>
<a href="/admin/posts">記事一覧へ</a>

このように、HTMLを記述することでブラウザ上に文字やリンクを表示できます。これだけで、管理画面の第一歩が完成しました。

5. ルーティングを設定してページにアクセスする

5. ルーティングを設定してページにアクセスする
5. ルーティングを設定してページにアクセスする

コントローラーを作っただけでは、まだインターネット上でそのページにたどり着けません。道案内をしてあげる必要があります。これをルーティングと呼びます。

app/Config/Routes.phpファイルを開いて、以下のように追記します。


$routes->get('admin', 'Admin::index');

これは、「Webブラウザで『/admin』にアクセスがあったら、Adminコントローラーのindexという機能を使ってね」という命令です。これで、ブラウザでアクセスできるようになります。

6. データベースから記事一覧を表示させる

6. データベースから記事一覧を表示させる
6. データベースから記事一覧を表示させる

管理画面では、投稿した記事の一覧を表示するのが一般的です。ここで「モデル」が登場します。データベースから情報を引き出す準備をしましょう。


namespace App\Models;
use CodeIgniter\Model;

class PostModel extends Model
{
    protected $table = 'posts';
    protected $allowedFields = ['title', 'content'];
}

このコードは「posts」という名前のテーブルから、記事のタイトルや内容を安全に取り出すための設定です。こうしてモデルを用意しておくことで、データベースの難しい操作を意識せずに管理画面を作れます。

7. セキュリティ対策の重要性

7. セキュリティ対策の重要性
7. セキュリティ対策の重要性

管理画面は、一般のユーザーからは隠しておかなければなりません。もし誰でも入れる状態だと、悪意のある人にサイトを壊されてしまう可能性があるからです。これを防ぐのが認証(ログイン機能)です。

ログインしていない場合は「ログイン画面に飛ばす」という処理をコントローラーに追加することで、管理者しか入れない秘密の場所を守ることができます。プログラミングにおいて、セキュリティは一番の優先事項です。初心者のうちから、常に「誰がこのページを見ることができるのか」を意識する癖をつけましょう。

8. 開発効率を上げる便利な仕組み

8. 開発効率を上げる便利な仕組み
8. 開発効率を上げる便利な仕組み

CodeIgniterには「ヘルパー」という便利な道具箱があります。例えば、日付を自動で表示したり、URLを生成したりする際に役立ちます。また、バリデーションという機能を使うと、入力されたデータが正しいかどうかを自動でチェックできます。例えば、タイトルが空欄のまま記事を投稿しようとすると「タイトルを入力してください」と教えてくれる仕組みです。これらを使うことで、より快適で壊れにくい管理画面へと進化させることができます。

カテゴリの一覧へ
新着記事
New1
Laravel
Laravelのルートとコントローラを対応付ける方法(名前付きルート)を初心者向けに解説
New2
Symfony
Symfonyで画像やファイルをアップロードする時のバリデーション完全ガイド!初心者でもわかる入力チェックの基本
New3
Laravel
Laravelで言語切替UIを作る!多言語対応(ローカリゼーション)実践ガイド
New4
CodeIgniter
CodeIgniterでローカル開発環境を構築する方法!初心者向け完全ガイド
人気記事
No.1
Java&Spring記事人気No1
CodeIgniter
CodeIgniterのキャッシュ管理を完全ガイド!初心者でもわかるメリットと注意点
No.2
Java&Spring記事人気No2
Laravel
Laravelのプロジェクト構造を理解しよう!初心者向けディレクトリ解説
No.3
Java&Spring記事人気No3
Symfony
Symfony学習に役立つおすすめドキュメント・教材・リソース一覧【初心者向け】
No.4
Java&Spring記事人気No4
CodeIgniter
CodeIgniterとは?特徴・できること・他PHPフレームワークとの違いを完全解説
No.5
Java&Spring記事人気No5
Laravel
Laravelローカリゼーション入門!言語の取得と切り替え(App::getLocale / setLocale)を徹底解説
No.6
Java&Spring記事人気No6
Symfony
TwigのHTMLエスケープとrawフィルタの使い方を完全解説!初心者にもわかるテンプレート表示のコツ
No.7
Java&Spring記事人気No7
Laravel
Laravelの条件分岐とループ処理をBladeで書く方法
No.8
Java&Spring記事人気No8
Laravel
Laravelのルーティングの基本構文と書き方をやさしく解説!初心者でも理解できるWebルートの仕組み