ギークなお姉さんは好きですか

恋焦がれる理想の男性・ギークを知るため、プログラミングがわかるお姉さんを目指すブログ

10日目 めぇるみぃ!! 【前編】

日記

引っ越した\(^o^)/ターター!!


でね、つい先日までネット環境がなかった。
田口さんに 「大丈夫なの?」 て心配された。
同情するなら監禁してよ!!
「こんなに脆弱性だらけじゃないか!仕方ない子だ。
ライフハックしてやる!」て言われたい><


落ち着け。
絡みすぎだ。
ごめんなさい。
以後気をつけヌ。





メール関数でネゲットしよう♪


けんすうが言っていた。
「メール関数を制する者はネゲットを制す」 と。
さすがネゲッターの言葉は説得力がある。
ちょっと違ってたかな・・・でもだいたいそんな感じだろうと意訳。


PHP を使うとメールが送れる (or 受け取れる) らしい。
普通のメールのやり取りは糸電話ちっくというか、
相手のコップと自分のコップがなきゃダメだけど、PHP はなんだろ、私書箱?
とにかくもっと気軽な感じなのさ!
紅はメアドを公開してなくて、代わりにレンタルCGIのメールフォームを設置している。
てゆかコレ超ひさびさに見たw ちょっと可愛い・・・なかなか可愛いとこあるな・・・。
ソースちょろっと見たけど、さては PHP だよね?
ってことは、メール関数をマスターすればメールフォームも自作できるじゃん!
すんげぇすんげぇ!! がんばろう。



参考書に従って作るとすると、リスト1とリスト2の2種類、作成せねばならぬ。
しかもリスト2は php.ini の設定をいじる必要があるとかないとか。
エー。
お願い、ないって言ってよハニー(*´・Д・)
長くなりそうなので2回に分ける。
今日は前編。
じゃ、ソース貼るぞ。
参考:10日でおぼえるPHP5 入門教室 ●メール関数で訪問者の声を受け取ろう 

※タグの最初は全角にしてあります。



1 <html>
2 <head><title>ギークなお姉さんは好きですか(めぇるみぃ!)</title></head>
3 <body>
4 <h1 style="background:#FFCCCC; color:#663333;" >
5 ギークなお姉さんは好きですか(めぇるみぃ!)</h1>
6 <form method="POST" action="sendmail.php">
7 <input type="hidden" name="email"
8   value="lovecall@geek.jp" />
9 <input type="hidden" name="_subject"
10   value="ギークなお姉さんは好きですか" />
11 <input type="hidden" name="_result"
12   value="<?php print($_SERVER['PHP_SELF']);?>" />
13 <table border="0">
14  <tr>
15  <th align="right">名前:</th>
16  <td><input type="text" name="name" size="20" maxlength="30" />
17  </td></tr>
18  <tr>
19  <th align="right">E-mail:</th>
20  <td><input type="text" name="_from" size="50" maxlength="255" />
21  </td></tr>
22  <tr>
23  <th align="right" valign="top">自由記入欄:</th>
24  <td><textarea name="memo" cols="50" rows="5">
25    </textarea></td></tr>
26 </table>
27 <input type="submit" value="送信" />
28 <input type="reset" value="クリア" />
29 </form>
30 </body>
31 </html>

サンプル:mail_input.php


おお。
ほとんど html だ。
ねね、「めぇるみぃ!」って死語かい?
昔はよく見かけたのになあ。
あの侍魂の健さんでさえ言ってた気がする。
当時はまさか自分に言ってると思わなかった。
完全スルー。
メールを送るって発想がなかった。
今なら分かる。
俺が送らなくても代わりはいるもの。
とか、そゆう綾波はいらんよ!
さぁ!今こそめぇるみぃっヾ(`・д´・)ツ))



1〜5行目は省略。

6行目。
全く同じものを使った記憶がある。
POST 形式でユーザが入力したデータを sendmail.php に送るよ、というアレだ。
で、コレを使うとsendmail.phpの方の $_POST に、ユーザが入力してくれたデータを
自動的に代入してくれるんだった。
参考:3日目 今度はあなたに挨拶したい><



7〜11行目は下記サイトが分かりやすい。
参考:隠しデータを送信する



12行目。
value の中身がphpだ。
$_SERVER は何度か出てきてる気がする。
参考:7日目 ヘッダ情報が見たい!知りたい!晒したい!


そうそう。
グローバル変数
いろいろ取得できる子だ。
今回は PHP_SELF を取得して、それを print するらしい。


$_SERVER['PHP_SELF']は現在実行されているスクリプトのパスを返します。

参考:10日でおぼえるPHP5 入門教室



もうちょい具体的に。


PHP_SELF
現在実行しているスクリプトのファイル名です。
ドキュメントルートから取得されます。

$_SERVER["PHP_SELF"];
として使いますが、例えば・・・

URLが、http://www.test.com/index.phpなら
/index.php

http://www.test.com/somedir/somefile.phpなら
/somedir/somefile.php

が返されます。



(・∀・)ィィネ!!分かりやすい!
ってことは、この場合は mail_input.php が返ってくるのかな?
ふーん・・・・・




あああああ!分かった!いま分かった!!!!!なんだ、そゆうことね!
自分で7〜11行目の参考リンク貼っておきながら把握してなかった。
8行目の value に入れてるメアドは、自分が受信したいメアドを書くのか。
んで、件名は自分がこのメールフォームから届いたメールだと認識できる名前にするのね。
そうした方が振り分けとか便利だもんね。
だから12行目だけいきなり php が出てきたのか。
ここはユーザが入力したデータだから、紅の意思が介入する余地がない。
あぁあぁ、だから print
なるほどなるほど。
やーごめんごめん!ちょっと勘違いしてたw
うっかりユーザ気分で、受け取るための設定を全く考えてなかった。
大丈夫、もう完全に理解した。


で、なんだっけ。
そだ。
PHP_SELF だ。
$_SERVER['PHP_SELF'] で返ってきたmail_input.phpprint しろ、ということね。
ふんふんふーん♪
いい具合にしっくりきた。
このたびはお騒がせして誠にスミマセンでした><



13〜26行目はマジで大丈夫。
だってこれは普通の table タグですもの。
27、28行目もおk。
送信ボタンは3日目でも出てきたもんね。





はあー。
よかったよかった。
まったく一時はどうなることかと思ったよ。
でも後編がきっとキツいんだろな・・・・
次回は土曜の夜あたりに。
こーはんへつづく!