2010-07-01から1ヶ月間の記事一覧

session_destroy()をしてもセッションデータが残る

PHP

session_destroyを行っても、その時点で$_SESSIONのデータが消えるわけではありません。以下、3ファイルで動作検証 test.php … セッションデータセット test1.pyp … session_destroy()コール test2.php … 遷移後の確認用ページ[test.php]

オブジェクトのシリアライズ

PHP

オブジェクトをシリアライズしてリクエストに渡してみました var = 3; $hoge = serialize($hoge); if (isset($_REQUEST['hoge'])) { $get_hoge = unserialize($_REQUEST['hoge']); echo $get_hoge->hello(); echo $get_hoge->var; } …

empty()について

PHP

!$varと判定結果は同じだが、宣言していないときのNoticeが出ない if (!$var) { echo '空です'; } // Notice: Undefined variable: var // 空です if (empty($var)){ echo '空です'; } // 空です判定結果のテスト $values = array('', ' ', '0', 0, 1, null,…

issetの判定結果いろいろ

PHP

isset($x);の結果がどうなるか? $x; // false $x = null // false $x = '' // true $x = array() // trueさらに $x = array() isset($x[0]) // falseさらに $x = 1; unset($x); isset($x) // falseまとめ: 宣言のみやnullの代入はfalseを返す 定義していな…

DBのエンコードを変換する

[user@system ~]$ psql -l List of databases Name | Owner | Encoding ---------------------+----------+---------- db_name | owner | UTF8例)S-JISに変換 pg_set_client_encoding($conn, 'sjis');→ブラウザで表示するとDBから取得した文字のエンコード…

POSTデータの数値判定

数値(小数は省く)かどうかを判定したい場合 ctype_digit()を使う。

メソッドチェーン

PHP

メソッドチェーン( こんなやつ → $xxx->xxx()->xxx() )が使ってみたかったので試しに作成してみた。 Class hoge { public function this() { return $this; } public function hello() { echo 'hello'; } } $hoge = new hoge(); $hoge->this()->hello(); /…

同じ名前のPOSTデータ

ボタンを押した箇所の値が上手く送れないケースNGな例: <form method="post" action="delete.php"> <input type="submit" value="削除" onClick="return confirm('この品物を削除しますか?')"> <input hidden name='item' value="1"> <input type="submit" value="削除" onClick="return confirm('この品物を削除しますか?')"> <input hidden name='item' value="2"> </form> 最…

クラスのオートロード

いちいちクラスを使う際に、require(クラス名.class.php)などをするのは面倒なので、autoloadを実装してみた。まずは.htaccess(apacheの *.confでもよい)に以下を記述して、autoloadファイル自体を自動で読込み [.htaccess] php_value auto_prepend_file "…