2011-07-03から1日間の記事一覧
フォームの入力でチェックをした後どうするかについて、 エラー画面に遷移しエラー表示→入力画面に戻す(戻るボタンで戻ってもらう) という方法と、 入力画面に戻しエラー表示 という2パターンがあると思います。 (まぁAjax使ってたりすると、JavaScript内で…
レンタルサーバでPHPの内部エンコーディング(mb_internal_encoding)が、作成しているPHPのエンコーディングと異なっていると文字化けになってしまいます。 特に厄介なのが、フォームのデータをPOSTで受け取るときです。 今回レンタルサーバ側のPHPは EUC-JP …
WEBアプリケーションでは、XSSとSQLインジェクション対策等のセキュリティリスクを軽減するためにサイニタイズが必須です。 (PHPでの一般的なサニタイズ方法は、(PHP)XSSとSQLインジェクション対策を参照) さて、テンプレートエンジンに Smarty を使ってて、…
Smartyのテンプレート内で、配列の中に指定した値があるかどうかや、そもそも配列かどうか、そして該当の変数が存在するかどうかを判定する方法です。 テンプレート内に下記のようにすることで判定できます。 {* 変数が存在するかどうか *} {if isset($value…
Smartyで、改行コードを含む文字列を表示するときに、改行コード(\n)をHTMLの改行タグ()に置換する方法です。 下記のようなSmartyの書式で、それが可能なようです。 {$変数名|nl2br} 使用例です。 ○PHP側 //Smarty読み込み(ドキュメントルート外のSmartyクラ…
HTMLのFORMで、チェックボックスを用い複数選択した値をPHP側で受け取る方法です。 input タグで、name の末尾に [] を付けると、配列で受け取れるようです。 こんな感じです。 ○HTML側 method="post" action="test.php"> type="checkbox" name="person[]" v…
今回、HTMLでForm内に複数のSubmitボタンを配置して、ボタン毎に処理を分けたいと思ってます。 その場合、ボタンの name 属性に値を設定し、PHP側で $_POST['name属性の値'] があるかどうかを判定することで、どのボタンが押されたか判定できるようです。 下…
PDO経由でSQliteを使おうと思ってます。 Insert文で使う予定なんですが、汎用性を出すために、列名、値それぞれを配列に格納し、名前無ププレースホルダのSQLを生成して、それにbindParamメソッドでパラメータをセットしていきます。 それで当初下記のように…
PHPで多分初めてSQLiteを使おうと思ってます。 SQLiteドライバから直接クエリを投げてもいいんですが、PDO(PHP Data Object)というDBアクセスの抽象化レイヤがあるみたいで、これを使うとどのデータベースを使っているかを気にすることなく使え、DBを移行…