CodeIgniterの学習 25 - Db_sessionのsession_data列をTEXT型からMEDIUMTEXT型に変える

(08/11/10追記) http://d.hatena.ne.jp/dix3/20081110/1226243974 にまとめました。 session_dataは、TEXT型なのだが、これだとmysqlでは65535文字以降は通常切り捨てられてしまう。大抵はこれで事足りるのだが、session_dataに、 配列とかオブジェクトとか…

CodeIgniterの学習 24 - Db_session利用時に$this->db_session-> と $this->session-> のどちらでも呼べるようにする

(08/11/10追記) http://d.hatena.ne.jp/dix3/20081110/1226243974 にまとめました。 ええと、今更ながら、以前のエントリ セッションをDBに保持するようにする (暫定版)1(http://d.hatena.ne.jp/dix3/20080921/1221946495) の補足。freakauthのログイン…

CodeIgniterの学習 23 - ワンタイムチケット(ワンタイムトークン)の機能を作って、CSRF対策をちょっとした気分になってみる

今日はワンタイムチケット(トークン)の機能を実装してみる。CodeIgniter Version.1.6.3 には標準では、ライブラリ・ヘルパ共に該当のものは存在しないようだ。 POSTするフォーム毎に、セッション + フォーム側のhidden項目を使って、 バリデーションチェッ…

CodeIgniterの学習 22 - 開発用のプロファイラを拡張し、db_sessionの情報を表示する

今日はCodeIgniterのProfiler.phpを拡張してみる。というのも、ワンタイムトークン(ワンタイムチケット)のライブラリの俺俺改造(というかほぼ作り直し)の途中で、 データベース利用のセッション(db_session)の情報をいちいち見るのが面倒になったから、…

CodeIgniterの学習 21 - 標準のValidation機能を拡張し、Javascriptとphpの両方でバリデーションチェックしてみる(ClientServer Validation の改造)

今日は 先日のエントリ ( http://d.hatena.ne.jp/dix3/20081011/1223705482 ) のXMLでのフォーム生成の試みをやめて、標準のCodeigniterのフォームバリデーションチェック処理を拡張する形で、バリデーション機能を簡略化してみる。 CodeIgniter標準のバリデ…

CodeIgniterの学習 20のやり方はやっぱりやめる。XML定義のフォームライブラリは使わないことにした。

朝令暮改だが、昼のエントリ( http://d.hatena.ne.jp/dix3/20081011/1223705482 )のXMLでのフォーム生成はやっぱりやめることにした。理由 構成がシンプルじゃなくなる割に、コーディング量があまり変わらない。 柔軟性に欠ける。他のバリデーション系ライ…

CodeIgniterの学習 20 - 標準フォームヘルパの代わりに、XML定義のフォームライブラリを使いフォーム生成とバリデーションを簡略化してみる(調査編1)

(08/10/11追記 http://d.hatena.ne.jp/dix3/20081011/1223725579 の理由によりこの方法は取りやめることにした。)(08/10/16 追記) 下記のかわりに、ClientServer Validation 改のこっちを使ってみることにした。 (http://d.hatena.ne.jp/dix3/20081013/12…

CodeIgniterの学習 19 - 一覧画面にページリンクを設置してみる(ページネーションクラスの使用)

今日は一覧画面のページネーションを試してみることにする。 マニュアルのページネーションクラスの説明を見ながら、タスクリストに組み込んでみる。試してみると特に難しくなくあっけなく出来た。すばらしい。 今日は変更した部分のみ載せる。 元ソースは昨…

CodeIgniterの学習 18 - HTMLテーブルクラスを使ってテーブルタグを自動生成してみる

これまでいろいろ試していたけど、CodeIgniterの標準機能のものをあんまり使って学習していないので、 基本に立ち返って、タスクリストを作りながら学習していくことにする。設計とかはせずに行き当たりばったりで、いろんな機能を試してみるつもりなので、 …

CodeIgniterの学習 17 - スカッフォールディング(Scaffolding)を試してみる

今日は、あまり興味は無いけどScaffoldingの機能を使ってみることにする。スカッフォールディングを使って、開発用のデータ追加と編集が簡単に出来るらしい。 ついでなので、今日から練習アプリのタスクリストを作ることにする。作業1)application/config/…

CodeIgniterの学習 16 - 開発時にプロファイラを有効にし情報を表示する

開発時にメモり使用量とか、ベンチマークとか、POSTデータとか実行したSQLとかを表示したくなったので、 マニュアルでやり方を引いてみた。「アプリケーションのプロファイリング 」の項に コントローラ のメソッド内のいずれかの場所で次のメソッドを含むコ…

CodeIgniterの学習 15 - Zend Framework を CodeIgniter上で使う

ええと、昨日のエントリの続き、 Zend Frameworkにある沢山の有用なライブラリを、CodeIgniterで使えるようにしてしまいましょうというお話。「じゃあ全部 Zend Frameworkで作ればいいじゃん」 と言う話は置いておく。 CodeIgniterで足りないライブラリは一…

CodeIgniterの学習 14 - (続)自作関数、自作クラス等を設置する場所実験

昨日のエントリのサンプルソースがあまりにも使えないので、ちょっとだけマシなサンプルを置いて試してみる。Snoopyを使って http://www.example.com/ の画面を切り取ってみる。材料1)ライブラリ:application/libraries/Snoopy.phpソース: Snoopy - the …

CodeIgniterの学習 13 - 自作関数、自作クラス等を設置する場所

能書きCodeIgniterを使うのが適しているケースは、 「既にある仕組みを再整理したい。」(かつあまりコーディングのやり直しはしたくない) 「作り方をお仕着せられるのは嫌いだけど、ある程度の軸は有った方がいいよね。」 「別の言語で作れっつっても、安…

CodeIgniterの学習 12 - FreakAuth_lightを使ってログイン認証を実現してみる - インストール記録

昨日のエントリで導入した FreakAuth_light (ログイン認証)のインストール記録をメモする。ファイル数は多いが、まだ構築初期段階なので比較的すんなり設置できた。 後はこの仕組みをどう料理していくかだな。 インストール記録1)ソースのダウンロード F…

CodeIgniterの学習 11 - FreakAuth_lightを使ってログイン認証を実現してみる - 導入前準備編 ベースのソース選定 1

(2010/7/5追記) 現在コチラの認証はつかってません。dx_auth とか EzAuthとか ion_authとかの検討を。 (2010/7/5追記おわり) 今日からログイン認証の導入に着手する。ボリュームが多いので数回に分ける。3行で書くと、 FreakAuth_light - http://codeignit…

CodeIgniterの学習 10 - カレンダークラスを使ってカレンダーを生成してみる

今日はカレンダークラスを試して、タスクリストのパーツとして使うようにしてみる。 カレンダークラスはデフォルトで使える状態なので、 事前準備は必要なく、すぐに呼び出すことができる。3行で書くと、$this -> load -> library( 'calendar'); echo $this …

CodeIgniterの学習 8の訂正

うわー、使い方間違えてた。 http://d.hatena.ne.jp/dix3/20080926/1222366623 のエントリに間違いが有りました。すんません。以下訂正箇所誤) xajax -> getJavascript( base_url() ); // xajax用javascript生成 // タスクリスト(実験ソース)のテンプレ…

CodeIgniterの学習 9 - 外枠ビュー用のテンプレートとcssをちまちまと作る

昨日のエントリで、綺麗なテンプレートを探すと書いたが、 何となく自作したくなったので適当に作ってみた。なので今日はちょっと題名からはずれて、html,cssの作業がメインとなる。 cssが効いていない状態でコーディングするのは寂しすぎてやる気が全然でな…

CodeIgniterの学習 8 - ビューを外枠(器)と中身(具)のテンプレートの2つに分ける

(08/09/27 記述を訂正しました。 誤:$tpl["main_content"] = $this -> load -> view( 'tasklist_view', $data ); 正:$tpl["main_content"] = $this -> load -> view( 'tasklist_view', $data ,true); でした。これでテンプレートがネストできます。) Cod…

CodeIgniterの学習 7 - キャプチャ(CAPTCHA)を使えるようにする (実験)

(2009/10/02 add) Captcha Test , Take 2 : Please look the end of this page. (2009/10/02) 今日はCodeIgniterでキャプチャを使えるようにする。サンプルアプリを作るのは、実際のコーディング量はたかが知れているので、 先に汎用性のあるプラグインを使…

CodeIgniterの学習 6 - Ajax (xajax)を使えるようにする 1 (実験)

さて、今日はCodeIgniterでxajaxを使えるようにする。 xajaxは名前の通りajaxのライブラリである。特徴は説明するまでもないが、javascriptを意識することなく、 phpのファンクションとしてajaxを使った機能が作れてしまう優れものである。 javascriptでごり…

CodeIgniterの学習 5 - PHPでグラフを生成して表示したい 1 (調査)

(08/11/25 追記) http://d.hatena.ne.jp/dix3/20081125/1227568495 に関連エントリ(PHPLOTのライブラリ化実験ソース)を追加しました。 前回のエントリで次はxajaxを使えるようにすると書きつつ、先にグラフの生成に浮気してみる。 タスクリストに達成率と…

CodeIgniterの学習 4 - セッションをDBに保持するようにする (暫定版)1

(08/11/10追記) http://d.hatena.ne.jp/dix3/20081110/1226243974 にまとめました。 (08/10/14追記 一部変更 ソース内のinput->cookieの読み出し箇所2カ所を $session_id = $this->CI->input->cookie($this->sess_cookie); → $session_id = $this->CI->inpu…

CodeIgniterの学習 3 - ソースのディレクトリ構成を移動

これからは後で見つけやすいように、なるべく1エントリ=1作業 で書いていく。 (実際はもっと先にいっているけど、ここに書くのもそれなりに時間が掛かるので、少しずつ。) デフォルトのソースツリーだと、apacheのドキュメントルート配下にsystemだのapp…

CodeIgniterの学習 2 - 参考となるサンプルソースを探す(学習方法の方針検討)

さて学習を始めることにしたが、学習をするといっても何から手をつければよいか。 最短の時間で最大の学習効果を出すために以下の順序で手をつける。後で見返すように、自分の方針を列挙しておく。 学習ステップ起点は http://codeigniter.com/ と http://co…

CodeIgniterの学習 1 - はじめに素の状態をインストール

約一月ほどdrupalをいじってたので、最近CodeIgniterを全然学習してない。 今日からはCodeIgniterを学習する。勉強会とかもちょっと興味あるが、とりあえず自分のペースで試行錯誤しながら学習してみることにする。 解説本もちょっとほしいけど、とりあえず…

drupalで自社のページをつくる 16 - キャプチャ認証(Captcha)を各フォームに仕込む

一通り自社ページの作成は終わって後は、バナーだの写真だのを準備すれば良い段階となった。 外部に公開するにあたり、未ログインユーザ(通常の閲覧者)がフォームを使える場所にキャプチャを仕込むことにした。 インストール:CAPTCHA - http://drupal.org…

drupalで自社のページをつくる 15 - コンタクトフォームを自在にカスタマイズできるモジュール Webform を導入してみる その1

以前のエントリで、contactモジュールだと項目数が少なくて使えないので代替を探すか無ければ自作すると書いたが、 どうやら Webform - http://drupal.org/project/webform を入れれば 任意の入力項目のついたお問い合わせフォーム系が作れるらしいので入れ…

drupalで自社のページをつくる 14 - 自社のコンテンツ作り

一通り基本モジュールは入れ終わって、肝心のコンテンツ作り中、ありきたりのページなのでページ構成をさらす。 ちなみにweb系といえばweb系のお仕事。ページ構成プライマリリンクはこんな感じ 事業内容 … ここがメイン 導入事例 … 事業内容を補足するもの …