9月の終わり

晴れ今日で9月も終わり。 夏があっという間に去っていった気がする。
仕事は7時10分から。 香川オリーブガイナーズの本拠地、オリーブスタジアム付近でL型のキッチンを組む。 まぁいつもより重い部材とかもあって苦労したけれど2時半くらいに現場が終わった。
今日は社長が一緒にいるのに、珍しくそこの現場だけで終わった。 16時ごろ帰宅。

作成中の掲示板にユーザー定義関数が書いてあった。
それを参考にして
書き込み完了しました
名前と本文は入力してください
などのメッセージをやってみた。

スクリプトの最初の方でユーザー定義関数を書いてあるので、内容の中にHTMLの記述が減ってけっこう見やすくなってきたような気もする……

明日は休みなので、明日にまとめてアップします。

PHP掲示板その5

晴れ今日は7時10分から仕事。 屋島でお風呂を組む。 今日のお風呂は「ユパティオファイン」という商品。
ノーリツのお風呂は3種類ある。 実際はもっと種類があるのだけど、ほとんど売れないのかわからないけど年に1回あるかないかくらいしか組まないお風呂もあるらしい。
そういうのは除いて、よく組むお風呂。
まずは「JUB」というお風呂。 これが一番安く一番しょぼいお風呂。
大きさは1200*1600、1600*1600、1600*2000とある。 (単位はmm)
基本的なものは1600*1600。
そして「ファイン」というお風呂。 これがちょっとリッチなお風呂。
大きさは1200*1600、1600*1600、1600*1800、1600*2000とある。
そして「グラシオ」というお風呂。 これは出窓がついてるお風呂。 狭い浴室を出窓タイプにして少しでも広く見せようというやつ。
大きさは1200*1600、1600*1600しかない。 1200*1600だと0.75坪なのだけど、出窓タイプにすると1坪の大きさになるらしい。

で、今日のはファインの1200*1600タイプ。 しかしオプションで出窓がついている。 まぁ出窓があるとめんどいんだけど……
めんどいとはいえ、かなり慣れたお風呂。 16時半には終わった。

さて、家に帰ってパソコンをする。
今日は掲示板を作らなくては……
まずやったこと。
・名前、本文、題名にタブが入っていた場合は半角スペースに置き換え
 正規表現を使って を検索して、それを半角スペースに置き換えてる。 本文などに直接「 」と書いてもそれは変換されない。 なぜだかは不明。 まぁこれで正常に作動するからいいかな……
・パスワードに半角英数字以外のものが入っていたらエラーを出す。 記入無しでもエラーはおきないようにしたはず。
 これも正規表現を使った。
・名前、本文が半角スペースと全角スペースのみで書かれている場合はエラーにした
 これも正規表現、「 」と「 」がのみで構成されていたらエラーを出す。

今日やったのはこれくらいかな……
自分でテストした限りでは正常に動作するのだけど……
これからの課題
・ソースの中にif分岐が多すぎる。 ifの中にifが入ってさらにifが入ってその中にifが入ってるような状態。 これはなんとかならないのだろうか……
・削除機能をつける。 入力したパスワードとログのパスワードを合わせるところまではできてるのだけど、ファイルから1行削除するやつを調べなくては…
・本文の色を8色くらいの中から決められるようにしたい。

まだまだできそうではない課題
・改ページを作る。 1ページに表示する件数を20件くらいにして、ページ切り替えできるように。
・クッキー
・「書き込みました」画面でリロードするとリロードした回数だけ記事がかかれる

さて、明日は仕事だけど日曜は休みなので上のできそうなことはやっていこう。

サンプル
ソース

PHP掲示板4 メールアドレスチェック

晴れ今日はINAXのキッチンを組む。 6時50分に会社。 INAXの倉庫まで行ってキャビネットや天板を受け取って現場に向かう。 現場は坂出。
INAXのキッチンは初めて組むのだけど、あんまりノーリツのと変わらない。 引き出しが少し重い感じはしたけれど。
まぁ普通に何事もなく16時半くらいに組み終わった。

ひさびさに早く帰れる~ 18時前に帰宅。
昨日、一昨日と妻は体調が思わしくないため実家に帰っていた。 ここから10分くらいの距離なのだけど、オレもくたくただったので行けなかった。 今日は帰ってくるって。
ひさびさに時間があるのでPHPの掲示板の続きをやる。

先日メールアドレスチェックっぽいのを作ったのでそれを組み込んでみよう。
メールアドレスの定義を調べたけど、わからなかったので勝手に決めた。
・ユーザー名@ドメイン名とする
・使える文字はa~z、A~Z、0~9、_(アンダーバー)、-(ハイフン)、.(ドット)と@(アットマーク)
・ユーザー名の1文字目に記号は使えない
・ドメイン名はの最小構成は、@*.* とする (*は使用できる文字のどれか)
・ドメイン名の1文字目に記号は使えない
・ドメイン名で.(ドット)の直後に記号がくることは無い
・ドメイン名は、_(アンダーバー)、-(ハイフン)、.(ドット)で終わる事がない

こんなところかな~ この定義が実際のメールアドレスの定義と合ってるのかは不明。 自分の経験で勝手に決めました…… 昔J-PHONEの携帯電話のアドレスで大文字のメールアドレスがあったような気がするし、ドメイン名の.の直後に記号がくるのをみた事が無い。 ユーザー名も記号で始まるのを見た事が無い。 自分の使ってるサーバーで記号で始まるメールアドレスを追加しようとしたけど無理だった。

今日は全然進歩なし……

タブで本文を書き込まれるやつどうしようかな~ 明日にでも<>に変更してみようかなぁ… それか は半角スペースにでも置き換えるか…… ただ本文中に と書かれていた場合はどうなるのだろう。

サンプル
ソース

パリーグ1位通過

晴れ今日は6時50分から仕事。 善通寺でミカドのお風呂を組む。 ミカドのお風呂を組むのは初めて。 かなり時間がかかりそう…… 施工書を見ながら、右も左もわからない状態で壁に穴を開けていく。 もし穴を開ける位置を間違えたら…………1日分の給料無し&壁代弁償。 これで2万弱給料が飛ぶ。 ものすごく痛い……
過去に2度壁をミスったことがあるんだけどね……
初めてやるやつだから、特に慎重にやった。 まぁミスはなく無事に終わった…………けど時間は18時……
会社に帰る途中に車で阪神VS広島のラジオ中継を聞いていた。
4回の阪神の攻撃、1番がアウトに倒れる。 2番打者がヒット。 続いて3番シーツ。 なんとホームラン! 一気に2点が入った。 そして4番金本が2ベースヒット。 5番浜中がなんとホームラン!
この回、2本のツーランホームランで一気に4点獲得した阪神。 そのまま5-1で逃げ切ったみたい。 だけど中日も勝てゲーム差変わらず。 阪神残り10試合、中日16試合。 ゲーム差は3。 どうなるかな~

家に帰ったのが20時前……
インターネットでパリーグの情報を見る。 今日は西武VSロッテとソフトバンクVS日本ハム。
日本ハムが勝ちか引き分けで優勝。 負けても西武が引き分けか負けで優勝。 西武が優勝するには試合に勝って、
日本ハムが負けなくてはいけない。
この一試合で全てが決まる。 しかも今日は今シーズン最後の試合(西武と日本ハム)、最後の最後で優勝が決まる。
 これほど楽しい事はないよね。
結果は……日本ハムがソフトバンクに勝った。 この瞬間日本ハムの1位通過が決定した。 西武はまだ試合中だった。 けど西武が勝った。
日本ハムが1位通過、2位西武、3位ソフトバンク。 以上の3チームでプレーオフを戦い、リーグ優勝を決める。 さぁ楽しみだ~

家で夕飯作ったり掃除をしていたらあっという間に時間が経過。 今週は仕事もつらいしものすごく眠い。 今日は何もせずに寝てしまおう…… 明日はINAXのキッチン。 これまた初めてやるやつだけど、キッチンだからそれほど時間はかからなそうかな…… あ~眠い。。。

川之江町

晴れ今日は愛媛県四国中央市川之江町で仕事。 6時半に会社…… 夕べのうちに作っておいた鮭とウインナーのお弁当を持って。
今日はけっこうめんどいお風呂。 壁出し換気扇というのをつける。 普通お風呂の換気扇は天井につけるのだけど、天井が低くて換気扇をつけられない場合は壁につける。 まぁその穴を開けるだけなのだけど。
まぁそれ以外は特にめんどうなこともなく無事に終わった。
だけど現場が終わったのが17時半。 高速使って帰ってもけっこう時間がかかる。

けっきょく会社に着いたのが19時。 家に帰ったら19時半……
明日はミカドのユニットバスを組む。 初めてやるもの…… 明日も遅くなりそうだ。。。

今日は野球の話でも。
オレは一応「福岡ソフトバンクホークス」のファン。
パリーグは今、上位3チームが2ゲーム差で首位を争っている。
1位:西武 残り2試合 M0
2位:日本ハム 残り2試合 0ゲーム差
3位:ソフトバンク 残り3試合 2ゲーム差

試合は西武VSロッテ、ソフトバンクVS日本ハム。
今日西武が勝てば1位決定。 ソフトバンクが負けたら3位決定……
ソフトバンクが優勝するには、西武が2試合負けて、ソフトバンクが3試合勝たなくてはならない…… かなり追い詰められた状態。
絶対落とせない今日の一戦。
しかし1回にいきなり2ランホームランを浴びてしまう。 これはマズイ……
そのまま得点できず、得点を入れられ続けて8回。 なんと一気に5点も入れられてしまう。 これはもう無理だ…… けっきょく0-8で負けてしまった。 これで3位確定…… まぁプレーオフ頑張ってもらおう!
で、西武VSロッテ。 勝てば1位が決まるこの一戦。 先発は松坂。 しかし松坂が打たれてしまう。 打たれて打たれて、2-6で西武の負け。 日本ハムがソフトバンクに勝ったので、順位が入れ替え。
1位:日本ハム 残り1試合
2位:西武 残り1試合 1ゲーム差
3位:ソフトバンク 残り2試合 3ゲーム差
明日日本ハムが勝ちか引き分けで首位決定。 もし負けても、西武が引き分けか負けたら首位決定。 西武が優勝するには明日日本ハムが負けて、西武が勝たなくてはいけない。
まぁこうなったらどちらが優勝してもいいけれど。

そしてセリーグも面白い。 首位中日、2位が阪神でゲーム差が3。 阪神は怒涛の7連勝。 中日はサヨナラ勝ち。
残り阪神が12試合かな、中日が17試合くらい。 3ゲームなのでひっくり返す事も可能だろう。 シーズン終盤でも順位が決まってないのはめずらしい。 まだまだ楽しみなプロ野球。

さてPHP。
掲示板にあまりにも不具合が多すぎる……
サンプルに書き込まれていて気づいた…… 本文を記入するテキストエリアなどにタブは入力できないと思っていた…… だけどメモ帳などで、タブを含んだ文章を書いて、コピー&ペーストしたら、タブ入りの文章を書く事が出来た。 それによって、タブ区切りのログファイルがとんでもないことに(;゜ロ゜) さて、これはどうすればいいのだろう。
調べたら、掲示板のログは普通「タブ区切り」か「<>区切り」らしい。 だけど<>区切りにしてもまた不具合がおきそうだし…… 記入された記事や名前の中にタブが入ってるか入ってないか確認して、入っていたら半角スペースなどに置き換える、とかしないといけないのかな。 これは正規表現が必要だ、たぶん。

どっちにしろ勉強しないといけないものなので今日は正規表現の勉強をしよう……
とりあえずメールアドレスかどうかチェックするようなものを作った。
メールアドレスの定義がよくわからないけれど……
メールアドレスに使われる文字は
アルファベットの小文字のa~z、大文字のA~Z、数字の0~9、-、_、.だけだったかなぁ。
たぶん1文字目に-_.が来る事はないかな…… だけどわからないからいいや。
そして@以降も1文字で終わる事はないと思う……たぶん……
@直後に-_.が来る事があるのかどうかは不明。
-@…とかいうアドレスが実在したりするのだろうか…… そういうのはわからないけれど……
とりあえずこんな感じかなぁ。

ereg(“^([a-zA-Z0-9_.-]+@[a-zA-Z0-9_.-]+.[a-zA-Z0-9_.-]+)$”,$i)

まず(a~z、A~Z、0~9、_、.、-)のどれかが1つ以上使われている。 その後に@がくる。
その後に(a~z、A~Z、0~9、_、.、-)が1つ以上使われている。 その後に.(ドット)がくる。 そして(a~z、A~Z、
0~9、_、.、-)が1つ以上くる。
以上のものが$iの先頭にあって終わりにもある。 つまり$iの全てが上のに当てはまってるかどうかチェックする。
ように作ったはず。

[ ] で囲まれたところはその中のもののどれかが使われてるか判断。 そしてa-zはa~zのどれかという意味。
[a-zA-Z0-9_.-]は
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-
のどれかが使われている。 その後の + はそれらが1回以上繰り返し = 1文字以上。
最初の^は$iの最初にという意味
最後の$は$iの最後にという意味

うーん、難しい。
今度メールアドレスとURLの定義を調べなくては。

キッチンとショールーム

晴れ今日は6時50分から仕事。 朝ご飯を食べる時間がなかったのでコンビニでパンを買う。 お昼ごはんのおかずも作りきれなかったので切干大根を買う。

今日はキッチン。 普通のI型吊戸ありのキッチン、すぐに終わりそう。
だけど運送屋のトラックが荷物を持ってきたときに、細い道だったため脱輪してしまった。 落ちた場所はたんぼ。 ただ、堀の高さがあるので、たんぼに落っこちたわけではない。 偶然お客さんの家に油圧ジャッキがあったのでそれで車体を持ち上げて、厚い板を何本も道路と田んぼの間に、斜めにかませて脱出した。 運転手も脱輪したのはひさびさだと言っていた。
それ以外は何もトラブルがなく、14時くらいに終わった。

これからショールームに行って仕事をしないといけない。
浴室テレビの設置と展示用の水洗の取り付けを。
テレビは穴を開けてコーキングするだけなので楽チン。 水洗も台座に取り付けるだけだったので簡単。
ここのショールームにはかわいい女の子が1人いたのだけど、パーマを当てて前髪を上げててイメージががらりとかわっていた。 だけど顔つきとかはかわってないからね。 ただちょっと気になるのはやせすぎかな……

妻が「スイカが食べたい」と言っていたので、仕事が終わった後フジグランに行ってみる。 大きなスーパーだからこの時期でもスイカ売ってるかなぁ…… カットスイカしか売ってなかった……しかも高い! まぁ仕方ない。 2パック買って家に帰る。
すぐに保育園のお迎えの時間になった。 一通り家事をして夕飯を作る。 今日の夕飯はオレだけ鮭、あとの2人は素麺。 そして明日は朝が早いのでお弁当を作る…… いつも朝作ろうと思っても時間がなさすぎるので夜のうちに。 腐らないよねきっと……

ようやく自由時間になってPHPをやる。 昨日の日記の掲示板に親切な人が書き込みをしてくれてあって、メールアドレスかどうかチェックする(?)正規表現みたいなのが書いてあった。

if ( ereg(“^[^@]+@[^.]+\..+”, $str) )

うーむ、これは……
メールアドレスの一番最初に@が来てはいけない、それ以外のものがきて、その後に@がくる。 ここは@以外のものが来てはいけない。 次の\..+ は不明…… これが$strの中の決まり。 この条件にあってるならばこっち、違うならこっちというようなものらしい。 うーむ、むずかしい…… これはかなりサンプルみたいなのを作ってやり尽くさないと理解出来なさそう…… きっとメールアドレスのチェックができたら、URLのチェックもできるだろう。

さて、今日の進み具合。 やる時間があまりなかったのだけど……
まず変更点。
「本文」に書き込みしていて改行するとログファイルの中でも改行されて悲惨な事になってるみたい。
なので
・本文の中で改行されたものをログファイルに移すときに改行されないようにした。
いろいろ調べたら、Windows内では改行は「
」と判断されているらしい。 
は改行だけど
は復帰というらしい。 意味は行の先頭にカーソルをもっていくみたい。 簡単に言うとエンターキーを押したという意味らしい。 すっごい難しいけど…… なので本文中からがあったら<br>に変換する、という処理をする。 マックとかだとだけらしいのだけど、マックがないので試す事が出来ないのでよくわからない。 まぁもっと調べてそのうちに……

・ログファイルにエスケープキー
名前や本文などで「”」「'」「」を使うと表示するときに「”」「'」「」と表示されてしまう。 いろいろ調べたらそういうときだけのを取り除くことができるらしいので、それをやってみた。 たぶんできてる。

・<>とかをHTML方式にするように
<だと&ltとなるみたい。 これによって本文中にタグが使われても大丈夫になった!?
そういうのを一発で変換してくれる関数があったのでよかった。。。

さらに発見された今後の課題
・パスワードに記号を使った場合、コピー&ペーストで全角文字を使った場合の処理
・名前と本文に全角スペースのみの場合、本文が改行のみの場合の処理
・「書き込みました」の画面でリロードすると、した回数だけ記事が書かれる

やらないといけないことはいっぱいいっぱいあるのに、頭が追いつかない。
サンプル
ソース

カルボナーラ PHP掲示板その3

晴れ9時過ぎに起床。
今日は主夫にならなくては。 まずは部屋の掃除&洗濯から。 おもちゃや散らかってる紙や本を全部片付けて掃除機をかける。 フィルター交換したらかなり吸い込みがよくなった。 普段掃除機をかけない階段までやってしまった!
天気もいいので布団を乾してかなりフカフカになるかな~

昼前に掃除と洗濯が終わり、長女と図書館に向かう。 先日借りた本を返しに行って、近くのジョイフルでお昼ご飯を食べた。
家に帰ってきて洗濯の続きと夕飯の準備 &お風呂掃除。

今日の夕飯はカルボナーラ。 卵黄、牛乳、生クリーム、塩コショウ、ベーコン、お好みでチーズ、パスタの麺、たったこれだけでできてしまう!

1人前
麺100g
卵黄1つ
牛乳60cc
生クリーム60cc
塩コショウ、ベーコン、チーズは適量

まずは麺を茹でます。 お湯を沸かして茹でると時間がかかるので、その間にクリームを作ります。
ボールや鍋に卵黄、牛乳、生クリーム、塩コショウ、チーズを入れてかき混ぜます。 以上(笑)
麺が茹で上がったらザルで水を切ります。
フライパンでベーコンを焼きます。 そこに油を敷いて麺を炒めます。
炒めるのと同時進行で、さきほど作ったクリームを50度くらいまで弱火で温めます。 あまり温めすぎると卵が固まりチーズがドロドロになります。 強火で温めると、回りについてる卵が固まります。
麺を器にとって、上から温めたクリームをかけて出来上がり!
味が薄かったら塩コショウを上からかけるとかなり美味しくなります。

まぁこんな感じで調理時間は沸騰、茹で時間含めて15分ほど。 これでおいしいパスタのできあがり♪

そして夜。
今日もPHPの掲示板作成に悪戦苦闘。
記事の削除機能をつけたかった。 パスワード認証することはできたけど、ログファイルからその行を消すやり方がわからない。 一度その行以外の記事を配列に読み込んで、それをまた書き込めばできそうな気がするけれど、記事が1万件とかあったら、9999件読み込んで書き込む必要がでてくる。 そんなメンドウな事しないでも、絶対何か方法があるはず。
タブ区切りのログファイルにしていて、1つの記事に対して1行使う。
一番最後にパスワードを記入していたのだけど、読み込むときにパスワードの末尾に謎の半角スペースが入ってしまう。
 
マークの改行が原因かわからないけれど。 なのでパスワードは最後にもってこないで真ん中らへんにした。 最後は日付にした。 別に半角スペースが入っても問題ないっぽい。

それとPHPスクリプトをメイン、書き込み、削除と3つにわけた。
これによって記事の投稿をしたあと、掲示板に戻るボタンをつけたので書き込んだ内容が確認できるようになった。

サンプル
ソース

今日はあまり進まなかったな~

運動会 & PHP掲示板その2

晴れ今日は保育園の運動会。 妻と長女はゆうべから実家に泊まっている。 ものすごい久しぶりに一人の夜。 たっぷりパソコンを満喫しましたとさ。
7時半くらいに起床。 ビデオとカメラを持って義実家へ。 そこで朝からものすごい量のご飯を食べさせられた……お腹いっぱい、というか苦しい……

保育園の運動会なのに、近所の専門学校のグランドで行う。 今日一日川原が駐車場になっているのでそこに車を止めて専門学校へ。

思ったよりもグランドはちっちゃかったけれどね。

入場から始まって園児体操、お遊戯やかけっこ、おじいさんおばあさんと遊ぼう、とかいろいろなものがあった。
これくらいの年齢だとしかたないのかな~うろちょろしたりキョロキョロしたり先生の言う事聞かなかったり…まぁこんなものか。 小学生になったらきちんとできるようになるのかな~

運動会を見ていたら、ビックリするような人と遭遇した。 なんと仕事の人。 同じ会社ではないけれど、メーカーの人でうちらの会社に仕事をくれる人。 どうやら同い年の娘がいるらしい。 クラスは違ったけれど…… しかし同じ保育園に通ってるなんて奇遇。

運動会は昼までだった。
家に帰りものすごい眠かったので昼寝…… なんと5時間も寝てしまった。。。 目が覚めたら18時過ぎ。 夕飯にそうめんを作ってお風呂に入って……

さて今日も掲示板を作ろう。
まず変更点
・ログを「カンマ区切り」から「タブ区切り」に変更。
名前やタイトルや本文にカンマが使われていたら、読み込むときにそこで区切られて変になってしまう。 タブだと大丈夫なのかな~ それがわからないけれど、名前やタイトルなどにスペースをいくつか入れてみたけど、それでは平気だった。
 数が決まってたりするのかなぁ。
・題名を必須にするのをやめた

とりあえず今日できた事。
・メールアドレスが記入されていたらリンク
・タイトルが入力されていなければ「無題」とする
・記事番号の表示
・記事の日時を追加
・kentっぽいデザインに(笑)

早いうちにやらないといけないこと
・パスワードの入力欄作成(記事削除に使用)
・本文中にURLが記入されていたらリンクする 正規表現がわからないとむりっぽそう。

すぐできそうなこと
・投稿者が文字の色を決めて投稿する

わからないこと
・パスワードの暗号化 管理人がログ見たらパスワードが表示されているから、もしかしたらその人の別の掲示板の記事などを削除できちゃう可能性が……
・書き込みした後に記事を反映させる。 これは別に書き込み専用スクリプトとか書いて、そっちにデータを引き継いでやったりしないといけないのかもしれない。 調べ中。
・検索など 正規表現というやつがさっぱりわからない。
・クッキー

まぁじっくり作っていきます。
サンプル 不具合とかあったら調べたいので適当に書き込んでくれたら嬉しいです
ソース .txtファイルでアップロードしてもIEで見るとHTML部分が直されちゃうみたいなので圧縮してある