PHP

CodeIgniterの学習 35 - DB2_Sessionの微改造をおこなってセッションIDの強制切り替え時間を5秒毎(任意の秒毎)にする

(08/11/10追記) http://d.hatena.ne.jp/dix3/20081110/1226243974 にまとめました。(08/11/09追記) うーん、この改造は一時取りやめ、 取りあえず元に戻して保留する。 以前のエントリhttp://d.hatena.ne.jp/dix3/20080921/1221946495 で CodeIgniter Versio…

CodeIgniterの学習 34 - htmlspecialcharsをh()で呼べるようにする

(08/11/30訂正) CIにはform_prep()ってのがあったみたい。 でもh()の方が短いので、コメントアウトしてただのラッパーにしてみた。 そういえば、フォームヘルパの学習が足りていないな。 (08/12/15追記)ちなみにform_prep()でエスケープするのは、formヘ…

CodeIgniterの学習 33 - 日付フォーマットの変換をMySQL_DATETIME_Helper改を組み込んで楽にしてみる

今日はCodeIgniterにMySQL_DATETIME_Helper( http://codeigniter.com/wiki/MySQL_DATETIME_Helper/ )を組み込んで、 日付ヘルパを拡張してみる。ついでに日本用に少々改造してみた。日付の変換って面倒だ。mktimeとか使いだすと、頭が混乱するので嫌いなの…

CodeIgniterの学習 32 - xajaxで住所/郵便番号検索サンプルを作ってみる(住所郵便番号検索作成その4 )

(仕事が忙しいので、学習の更新は少なめなりよ。チェックしてないアニメがry) 今日は以前CodeIgniterに組み込んだxajaxライブラリ(http://d.hatena.ne.jp/dix3/20080924/1222195390)と、 以前学習したテーブル生成クラス(http://d.hatena.ne.jp/dix3/200…

CodeIgniterの学習 31 - JSONヘルパを試す(住所郵便番号検索作成その3 )

今日はXML-RPCライブラリを使うのをやめて、 JSONヘルパ (http://codeigniter.com/wiki/JSON_Helper/)を試してみる。 (CodeIgniter標準のヘルパではない。) 本当は、外部連携(webapi)させることも視野に入れて、xmlrpcを噛まして、1:画面(検索条件入力)…

CodeIgniterの学習 30 - 住所←→郵便番号 の相互検索機能ヘルパを作る(その2 CodeIgniter側で郵便番号データ取り込み機能を作ったがボツにしたソース)

(08/12/19追記)以下の記述で使っているcurlライブラリは、 現在CodeIgniterのwiki上にある最新のcurlライブラリと異なります。このブログの記述時点のリビジョンは http://codeigniter.com/wiki/Curl_library/revision/7530/ だったのですが、現在の最新は …

CodeIgniterの学習 29 - 住所←→郵便番号 の相互検索機能ヘルパを作る(その1 元データの準備)

今日から数回にわたって、 住所の一部を入れて郵便番号を検索する機能 郵便番号の一部を入れて住所を検索する機能 を作ることにする。理由、目的CodeIgniterのヘルパとして、上記のアシスト機能が欲しくなったから。テキストエリアに郵便番号or住所の一部を…

CodeIgniterの学習 28 - 画像のリサイズ、回転、切り取り、文字合成を試してみる

今日はCodeIgniter標準の画像操作クラスを使って、 画像のリサイズ(resize),回転(rotate),切り取り(crop),合成(watermark)を試してみる。サーバサイドだけでの簡単な画像操作ならば、これでも使えなくはない。 標準機能としてはまあ良いんじゃないかと思った…

CodeIgniterの学習 27 - CSVファイルをクエリから出力してみる。ついでにDB_utility.php内の出力形態の微調整

今日はCodeIgniterからCSVファイルの出力をしてみる。連携ファイルの出力とかで必要だよね。昨日のエントリのsqlite3が結構重かったので今日は簡単なネタ。マニュアルの通りにやれば一応CSV出力できるのだが、気に入らない箇所を微修正した(後述)。出力の…

CodeIgniterの学習 26 - sqlite3 (PDO経由) を CodeIgniterで半ば強引に使ってみる(実験)

今日は CodeIgniterで、PDOを使ってsqlite3を使ってみることにした。他のかたが挑戦しているのも前に見かけた気がしたけど、取りあえず俺の作業ログも書いておく。 (2009/11/19追記) CodeIgniterのフォーラムで、SQLite3 + CI 1.7.2の別の実装を見つけた。…

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の学習 8の訂正

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

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でごり…