logo logo_banner

PHPで荷物追跡サービスの検索フォームを作ってみる。

| トラックバック(0)

PHPで荷物追跡サービスの検索フォームを作ってみる。

宅急便会社の荷物追跡サービスを利用するために、

各会社のホームページを開いてから検索するのは面倒くさいので、

イントラネット等利用するため、

運送会社の選択と、伝票番号の入力で、

各会社の検索結果ページが表示されるようにフォームを作ってみた。

 

とりあえず、

ヤマト運輸、佐川急便、日本郵便(ゆうパック・エクスパック)

の検索をしてみる。

 

動作としては、

テキストエリアに伝票番号を入力し、

会社を選択して「検索」を押すと、

各会社の検索結果ページが表示が新規画面で表示されるという物です。

 

PHPのページ単体で検索ページを表示する場合

nimotsu.php

(テストページはこちら→http://hoshiya.biz/nimotsu_search/nimotsu.php

<?php
//エラー処理
$kaisha = (!isset($_POST['kaisha'])) ? null : $kaisha = $_POST['kaisha'];
$denpyou = (!isset($_POST['denpyou'])) ? null : $denpyou = $_POST['denpyou'];
$submit = (!isset($_POST['submit'])) ? null : $submit = $_POST['submit'];
//URL設定
//クロネコヤマト
$url['1'] = "http://jizen.kuronekoyamato.co.jp/jizen/servlet/crjz.b.NQ0010?id=".$denpyou;
//佐川急便
$url['2'] = "http://k2k.sagawa-exp.co.jp/p/web/okurijosearch.do?okurijoNo=".$denpyou;
//日本郵便 ゆうパック・EXPACK・ポスパケット
$url['3'] = "http://tracking.post.japanpost.jp/service/singleSearch.do?org.apache.struts.taglib.html.TOKEN=&searchKind=S002&locale=ja&SVID=&reqCodeNo1=".$denpyou;
//伝票番号が入力されていれば検索ページを表示
if (isset($denpyou)){
header("Location: ".$url["$kaisha"]);
}
else {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>荷物追跡</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<br />
<input name="denpyou" type="text" id="denpyou" value="" />
<br />
<label for="kaisha">会社選択</label>
<br />
<input name="kaisha" type="radio" id="kaisha" value="1" checked />
ヤマト運輸<br />
<input name="kaisha" type="radio" id="kaisha" value="2" />
佐川急便<br />
<input name="kaisha" type="radio" id="kaisha" value="3" />
ゆうパック・EXPACK<br />
<input name="submit" type="submit" id="submit" value="検索" />
</form>
</body>
</html>
<?php
}
?>

 

HTMLフォームとPHPの検索ページ表示の2ファイルを使う場合

form.html

(テストページはこちら→http://hoshiya.biz/nimotsu_search/form.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>荷物追跡サービス検索</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="search.php" target="_blank">
<label for="denpyou">伝票番号</label>
<br />
<input name="denpyou" type="text" id="denpyou" />
<br />
<label for="kaisha">会社選択</label>
<br />
<input name="kaisha" type="radio" id="kaisha" value="1" checked />
ヤマト運輸<br />
<input name="kaisha" type="radio" id="kaisha" value="2" />
佐川急便<br />
<input name="kaisha" type="radio" id="kaisha" value="3" />
ゆうパック・EXPACK<br />
<input name="submit" type="submit" id="submit" value="検索" />
</form>
</body>
</html>

 

search.php

<?php
//エラー処理
$kaisha = (!isset($_POST['kaisha'])) ? null : $kaisha = $_POST['kaisha'];
$denpyou = (!isset($_POST['denpyou'])) ? null : $denpyou = $_POST['denpyou'];
$submit = (!isset($_POST['submit'])) ? null : $submit = $_POST['submit'];
//URL設定
$url['1'] = "http://jizen.kuronekoyamato.co.jp/jizen/servlet/crjz.b.NQ0010?id=".$denpyou;
$url['2'] = "http://k2k.sagawa-exp.co.jp/p/web/okurijosearch.do?okurijoNo=".$denpyou;
$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)){
echo "Error! is empty denpyou number";
}
else {
header("Location: ".$url["$kaisha"]);
}
?>

 

ちなみにテスト





ヤマト運輸
佐川急便
ゆうパック・EXPACK

 

改造の余地はあるもののとりあえずは使える。

 

 

↓Javascript版は以下をご参照ください。

トラックバック(0)

トラックバックURL: