エキサイト天気が使いやすい件について

今日、仕事でイイ感じの天気予報サイトないかな〜って見比べてたら、面白いことに気付いたのでメモ。

下はエキサイト天気で自分の実家がある岩手県奥州市の市役所付近の天気を調べたときのURLだ。

http://www.excite.co.jp/weather/spot/023/8501/

どうやらURLの最後のほうが郵便番号になっているようなのだ。ためしに違うトコの番号を入れたらちゃんと表示された。

ということは、formで郵便番号の前3桁と後ろ4桁を送って、受けたスクリプトでURLを生成してrefleshで飛ばせば郵便番号を入れて天気を調べるスクリプトが出来上がるんじゃないのか。

と思って早速つくってみた。

動作サンプル

郵便番号の上3桁と下4桁をそれぞれ入力して「送信」をクリックすると、入力した郵便番号に該当する地域の天気予報が別窓に表示される。


Warning: include() [function.include]: http:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/rmn/1000leaf.net/public_html/lab/200610/000014.php on line 104

Warning: include(http://1000leaf.net/lab/sample/061020_01.php) [function.include]: failed to open stream: no suitable wrapper could be found in /home/rmn/1000leaf.net/public_html/lab/200610/000014.php on line 104

Warning: include() [function.include]: Failed opening 'http://1000leaf.net/lab/sample/061020_01.php' for inclusion (include_path='.:/usr/share/php53/pear:/usr/share/php') in /home/rmn/1000leaf.net/public_html/lab/200610/000014.php on line 104

ソースはこんな感じだ。

送り側

 <html>
 <head>
 <style type="text/css">
 <!-- input{ ime-mode:disabled; } -->
 </style>
 </head>
 <body>
  <form name="form" action="reflesh.php" method="post" target="_blank">
   郵便番号を入力<br>
   <input type="text" name="num01" size="3" maxlength="3">-
   <input type="text" name="num02" size="4" maxlength="4">
   <input type="submit" name="submit" value="送信">
  </form>
 </body>
 </html>

普通のHTML文書だ。formで郵便番号の上三桁と下四桁をPOSTする。
受け取る側のスクリプトはreflesh.phpとしている。

一応、CSSで入力モードを英数に固定し、inputのmaxlengthで入力できる文字数を制限している。

受け側(仮にreflesh.phpとする)

<?PHP
 $URL="http://www.excite.co.jp/weather/spot/".
       $_POST['num01']."/".$_POST['num02'];
?>
 <html>
 <head>
 <meta HTTP-EQUIV="Refresh" CONTENT="0;URL=<?=$URL?>"></head>
 <body>
  <p>自動で移動しない場合は
  <a href="<?=$URL?>">こちら</a>をクリック。</p>
 </body>
 </html>

受け取ったら、上3桁 / 下4桁となるように結合してMETAタグのrefreshで飛ばす。
一応、自動で飛ばなかった場合のために「自動で移動しない場合はこちらをクリック」を出力させる。

どこかに使えないかな。っと。