multiple

HTMLのセレクトタグにmultiple属性をつけると、複数選択できるセレクトボックスを作ることが出来る。
複数選択できる状態でPHPにPOSTしたらどうなるのかやってみた。
そしたら、選択した最後の値のみ送信されてきた。
selectのname属性をname=”name[]”のように配列形式にして、複数選択して送信してみた。
そしたら配列で格納できた。

ふーん、こんな使い方ができるのか。 チェックボックスみたいな感覚だね。 覚えておこう。

SQL

晴れ友達でSQLをやってる人がいる。
オレにとってはすごい複雑なクエリーで想像できなかったものがあるのだけど、どういうクエリーを発行するのか教えてもらった。
わずか数分で返事が帰ってきた……
そして内容がすさまじい。 今までこんなクエリー使ったことないよ……
もちろん結果はGOOD!!

さすがだね。 土俵の違いを思い知らされた。 やっぱりPHPから発行するSQLなんてたかが知れているのだろうか。
前に月次バッチ処理のSQLを実行するのに、最適化しつくしたSQLで1時間半かかると言っていた。

うーん、もっとSQLも覚えなくては…

ページ不具合

雨昨日PHP5.2.5にしてから、不具合が出てきた。
require_onceでhttp://から始まるファイルを指定していたら、エラーがでてしまった。
調べたら、allow_url_fopenをOnにすればいいと書いてあったのだが、phpinfoを見て見たらきちんとOnになっている。
さらに調べていたらallow_url_includeをOnにしないといけないらしい。
URL経由でファイルを取得してPHPとして実行するにはこちらをいじるんだって。
PHP5.2.0からの追加らしい。

とりあえず解決。

ブログスパム対策

雨のちくもり最近ブログにものすごい量のスパムコメントが届く。
Word Pressのスパムフィルターで表には出てこないのだが、「コメントがありましたメール」とスパムにひっかかったコメント一覧で削除しないといけないので面倒。

いっそのこと記録すらしないようにしようと対策をした。


wp-comments-post.phpに以下を追加した。
Array

たったこれだけで快適なブログライフになった。

それと今日PHP5.2.5に切り替えをしたのだが、ブログで使ってる作成中のアクセス解析でエラーがでていて1時間くらいブログが見れない状態に……
MySQLクラス部分のエラーだったけど、直すのがめんどいので、とりあえず切ちゃった。

新しいモニタ

晴れ朝一で長女の歯医者に行く。 ついでにモニタを買いに。
昨日壊れてから、とりあえず分解はしてみたものの、素人が見てもさっぱり。
それで今日買うことになった。 香川にあるパソコン屋は数少ない。 近くにあるところで知っているものは「PCデポ」と「アプライド」。 とりあえずPCデポに行ったが、いいものがなかった。 アプライドにいってもいいものがなかったが、ここで買わないとモニタがない……
妥協して「IOデータ」の「LCD-AD195」というものを31800円で購入。 ついに家のモニタが19インチになった!
前まで15チンチだったからなぁ…… 解像度を1280×1024にできて快適快適♪
LCD-AD195

パソコンのモニタが壊れた

くもり夜、突然妻からメールが入った。
「パソコンの画面がいきなり消えた!!!」って。 そしてすぐ電話がかかってきた。
ちょうど仕事から帰るところだったので、急いで家に帰ってモニタを見て見る。 そしたらモニタに電気が通っていない。 電源プラグや主電源も確認したがおかしいところはない。
ここ2週間ほど、モニタの調子がずっと悪かったのだが、やはり壊れていたのだろうか。
モニタの電源を何度も何度もつけたり消したりしないと、モニタに画面が表示されなかったのだ。 ひどいときなど、1時間ほどつけたり消したりしていたけど、映らなかったことも。

このモニタ、高松に引っ越してくるときに中古で買ったのだが、やはりボロだったのか。

そして……パソコンのない夜は……暇だ……

JavaScriptのCookieとPHPのCookie

晴れ夜中に次女が大泣きで起きた…… ミルクをあげたら寝た……
Cookie Manager」というJavaScriptで簡単にCookieを扱うライブラリがある。
JavaScriptでクッキーを扱うのはなかなか面倒だ。 書き込みはいいけれど、読み込みがね…
全てのクッキーが連結された状態で1行で取得されるので、自分で分割して、検索して、必要な部分だけ引っ張る処理を加えないといけない。
それを簡単にやってくれるのがCookie Managerというライブラリ。

これをつかって、クッキーの書き込みや読み込みを簡単に行っていた。
しかし、PHP側でこのクッキーの値を処理して、使い終わったクッキーを削除する処理を加えたのだが、なぜだかクッキーの削除ができない。 削除だけでなく、PHPからは参照のみしかできない。 上書きもできない。

この問題にどっぷりはまった……
考えて考えて……考えて考えて……ようやく原因がわかった。
クッキーのパスの指定がいけないらしい。
Cookie Managerでは、「/」というパスで有効なCookieを作成する。 PHPではPHPファイルのあるディレクトリで有効なCookieを処理しようとする。(/livrersdream/js みたいな)
Cookieをセットするときに、パスも指定してあげて問題なくPHP側で削除もできるようになった。

いろいろネットを見ていたら、Cookieのパスはブラウザに依存するらしい? Firefox2でやっていたのだけど……
「/」の指定だったら、それ以下のディレクトリ全てに有効なCookieが作成されるんじゃないのかな?
まぁ使うディレクトリまで指定することで解決したからいいや。