Zend Frameworkは
入れて確認してみようにもPHP 5用だった(-_-)zzz....
そろそろ4だけじゃなくて5の確認用環境も作らないとだめかなぁ。
文字型(ctype)関数の空文字の扱い
作業中にはまりかけたのでメモ。
事の発端ははるか前に作ったものの修正を行い、
確認時に修正箇所とは全然関係ない郵便番号チェックをしている部分が
文字種エラーになる環境とならない環境がある状態に。
エラー判定している箇所をみると未入力の時のctype_digit()の挙動が違っている感じ。
続きを読むsessionのよく誤解してしまいそうな点
PHPの標準機能の中で1,2を争うくらい*1よく使うセッション機能。
ただ、どのような思惑かはさておき現在実装されているものに関して注意しておかなければいけない点がいくつかあるのでまとめ。
セッションについてのマニュアルはPHP: セッション関数 - Manual
- セッションの固定化(Session Fixation)
- session.save_pathの設定によってはガーベッジコレクションが行われないことがある。
- session.gc_probabilityとsession.gc_divisorの値によってはsession.gc_maxlifetimeで指定した以上にセッションが残る可能性がある
*1:他は何よ?といわれても答えられない;;´ー`
処理をした後はリダイレクトしよう
- http://www.sitening.com/blog/2005/10/27/redirect-after-form-processing/
- はてなの認証APIプロジェクト, POST 後の振る舞い - まちゅダイアリー(2006-02-23)
- POST後はリダイレクトした方が吉:phpspot開発日誌
はるか昔、Perl(CGI)のカスタマイズをやっていて楽しんでいた頃からおぼろげながら徹底し、
社内で改めて教えてもらってから徹底している内容についてふれられていたのでメモメモ。
今運用しているMojaviベースのPHPフレームワークでも
画面表示アクションと処理アクションはきっちり分け、処理が終わったらリダイレクトする形で徹底中。
再読み込みでPOST内容が再度送られる点についてはワンタイムチケットを発行すれば
防ぐことは出来るけど、それを実装するよりは表示と処理を分けて飛ばしちゃった方が楽々。
等幅フォントかつ折り返し有(結果)
結局以下のように対応
- pre指定はやめ
- 表示する内容を表示前に変換
- 「 」(半角スペース)を「 」に
- 改行を「<br>」に
- 全体をスタイル「font-family: monospace;」で囲む
うーん、イマイチな対応だ、、
続きを読む等幅フォントかつ折り返し有
テキストエリアに表示された内容をそのまま表示*1しようとする時に問題が発生。
安易にpreタグを使用すると今度は入力が優先されて1行が長いと横スクロールが発生し見難い状態に。(ノ∀`)タハー
いい方法がないかなぁと思い探してみたところ
- tDiary: この期に及んでspamフィルタを導入していない人は, CSS: 「折り返す」pre - ただのにっき(2005-09-22)
- http://www.hinet.mydns.jp/~hiraku/tDiary/20050922.html#p04
同じような事を考えてる人は既に居ました。
*1:特に半角スペース