3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

2011-07-03から1日間の記事一覧

(PHP)Smarty利用時に入力チェックエラー時に入力画面に戻し入力データを再表示する方法

フォームの入力でチェックをした後どうするかについて、 エラー画面に遷移しエラー表示→入力画面に戻す(戻るボタンで戻ってもらう) という方法と、 入力画面に戻しエラー表示 という2パターンがあると思います。 (まぁAjax使ってたりすると、JavaScript内で…

(PHP)フォームからPOSTで受け取ったデータが文字化けする

レンタルサーバでPHPの内部エンコーディング(mb_internal_encoding)が、作成しているPHPのエンコーディングと異なっていると文字化けになってしまいます。 特に厄介なのが、フォームのデータをPOSTで受け取るときです。 今回レンタルサーバ側のPHPは EUC-JP …

(PHP)Smartyでサイニタイズ(サニタイジング)する

WEBアプリケーションでは、XSSとSQLインジェクション対策等のセキュリティリスクを軽減するためにサイニタイズが必須です。 (PHPでの一般的なサニタイズ方法は、(PHP)XSSとSQLインジェクション対策を参照) さて、テンプレートエンジンに Smarty を使ってて、…

(PHP)Smartyで配列の中に要素があるかや配列かどうか、変数が存在するか調べる

Smartyのテンプレート内で、配列の中に指定した値があるかどうかや、そもそも配列かどうか、そして該当の変数が存在するかどうかを判定する方法です。 テンプレート内に下記のようにすることで判定できます。 {* 変数が存在するかどうか *} {if isset($value…

(PHP)Smartyで改行文字を\nを<br>タグに置換する

Smartyで、改行コードを含む文字列を表示するときに、改行コード(\n)をHTMLの改行タグ()に置換する方法です。 下記のようなSmartyの書式で、それが可能なようです。 {$変数名|nl2br} 使用例です。 ○PHP側 //Smarty読み込み(ドキュメントルート外のSmartyクラ…

(PHP)フォームのチェックボックスの値を受け取りたいとき

HTMLのFORMで、チェックボックスを用い複数選択した値をPHP側で受け取る方法です。 input タグで、name の末尾に [] を付けると、配列で受け取れるようです。 こんな感じです。 ○HTML側 method="post" action="test.php"> type="checkbox" name="person[]" v…

(PHP)HTMLのFORMでSubmitボタンを複数配置したい場合

今回、HTMLでForm内に複数のSubmitボタンを配置して、ボタン毎に処理を分けたいと思ってます。 その場合、ボタンの name 属性に値を設定し、PHP側で $_POST['name属性の値'] があるかどうかを判定することで、どのボタンが押されたか判定できるようです。 下…

(PHP)PDOでforeachを使ってbindParamでパラメータを設定してた時の注意点

PDO経由でSQliteを使おうと思ってます。 Insert文で使う予定なんですが、汎用性を出すために、列名、値それぞれを配列に格納し、名前無ププレースホルダのSQLを生成して、それにbindParamメソッドでパラメータをセットしていきます。 それで当初下記のように…

(PHP)PDOで、SQLiteにアクセスしてみた

PHPで多分初めてSQLiteを使おうと思ってます。 SQLiteドライバから直接クエリを投げてもいいんですが、PDO(PHP Data Object)というDBアクセスの抽象化レイヤがあるみたいで、これを使うとどのデータベースを使っているかを気にすることなく使え、DBを移行…