伝票番号から追跡結果のページを簡単に開くフォームを作る
宅配便会社の荷物追跡サービスを利用するために、各会社のホームページを開いてから検索するのは面倒くさいので、イントラネット用に運送会社の選択と伝票番号の入力で、各宅配業者の検索結果ページを表示できるようにブログパーツのようなフォームを作ることにしました。
- テキストエリアに伝票番号を入力
- 会社を選択して「検索」を押す
これで各会社の検索結果ページが表示が新規ウィンドウで表示されるという物を作ります。とりあえず、ヤマト運輸、佐川急便、日本郵便(ゆうパック・エクスパック)の検索ができるようにしてみました。
PHPファイル一つで作るときのソース
<?php<br>//エラー処理<br>$kaisha = (!isset($_POST['kaisha'])) ? null : $kaisha = $_POST['kaisha'];<br>$denpyou = (!isset($_POST['denpyou'])) ? null : $denpyou = $_POST['denpyou'];<br>$submit = (!isset($_POST['submit'])) ? null : $submit = $_POST['submit'];<br>//URL設定<br>//クロネコヤマト<br>$url['1'] = "http://jizen.kuronekoyamato.co.jp/jizen/servlet/crjz.b.NQ0010?id=".$denpyou;<br>//佐川急便<br>$url['2'] = "http://k2k.sagawa-exp.co.jp/p/web/okurijosearch.do?okurijoNo=".$denpyou;<br>//日本郵便 ゆうパック・EXPACK・ポスパケット<br>$url['3'] = "http://tracking.post.japanpost.jp/service/singleSearch.do?org.apache.struts.taglib.html.TOKEN=&searchKind=S002&locale=ja&SVID=&reqCodeNo1=".$denpyou;<br>//伝票番号が入力されていれば検索ページを表示<br>if (isset($denpyou)){<br> header("Location: ".$url["$kaisha"]); <br> }<br>else {<br>?><br><!DOCTYPE HTML><br><html><br><head><br><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><br><title>荷物追跡</title><br></head><br><body><br><form id="form1" name="form1" method="post" action="search.php" target="_blank"><br> <label for="denpyou">伝票番号</label><br><br> <input name="denpyou" type="text" id="denpyou" /><br><br> <label for="kaisha">会社選択</label><br><br> <input name="kaisha" type="radio" id="kaisha" value="1" checked /><br> ヤマト運輸<br><br> <input name="kaisha" type="radio" id="kaisha" value="2" /><br> 佐川急便<br><br> <input name="kaisha" type="radio" id="kaisha" value="3" /><br> ゆうパック・EXPACK<br><br> <input name="submit" type="submit" id="submit" value="検索" /><br></form><br></body><br></html><br><?php<br> }<br>?>
HTMLフォームとPHPの検索ページ表示の2ファイルに分けて作る場合
フォーム部分のHTMLファイル
<!DOCTYPE HTML><br><html><br><head><br><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><br><title>荷物追跡サービス検索</title><br></head><br><body><br><form id="form1" name="form1" method="post" action="search.php" target="_blank"><br> <label for="denpyou">伝票番号</label><br><br> <input name="denpyou" type="text" id="denpyou" /><br><br> <label for="kaisha">会社選択</label><br><br> <input name="kaisha" type="radio" id="kaisha" value="1" checked /><br> ヤマト運輸<br><br> <input name="kaisha" type="radio" id="kaisha" value="2" /><br> 佐川急便<br><br> <input name="kaisha" type="radio" id="kaisha" value="3" /><br> ゆうパック・EXPACK<br><br> <input name="submit" type="submit" id="submit" value="検索" /><br></form><br></body><br></html>
検索実行するPHPファイル
<?php<br>//エラー処理<br>$kaisha = (!isset($_POST['kaisha'])) ? null : $kaisha = $_POST['kaisha'];<br>$denpyou = (!isset($_POST['denpyou'])) ? null : $denpyou = $_POST['denpyou'];<br>$submit = (!isset($_POST['submit'])) ? null : $submit = $_POST['submit'];<br>//URL設定<br>$url['1'] = "http://jizen.kuronekoyamato.co.jp/jizen/servlet/crjz.b.NQ0010?id=".$denpyou;<br>$url['2'] = "http://k2k.sagawa-exp.co.jp/p/web/okurijosearch.do?okurijoNo=".$denpyou;<br>$url['3'] = "http://tracking.post.japanpost.jp/service/singleSearch.do?org.apache.struts.taglib.html.TOKEN=&searchKind=S002&locale=ja&SVID=&reqCodeNo1=".$denpyou;
if (empty($denpyou)){<br> echo "Error! is empty denpyou number";<br> }<br>else {<br> header("Location: ".$url["$kaisha"]); <br> }<br>?><br>
ページ内での実行テスト
上記のソースを使用してこのページにフォームを埋め込んでみました。実際に使えます。
伝票番号
会社選択 ヤマト運輸 佐川急便 ゆうパック・EXPACK
Javascript版も作ってみました。
同じように使えるJavascript版も作成してみました。以下をご参照ください。