1. 現在位置:
  2. トップページ
  3. HP作成tips
  4. PHP-買物
買物
■ サンプル

「買物」こちら

nenkan.html 入力画面
kakunin.php 入力確認画面
order.php 購入受付メール送信
error.php エラー表示

■ ソース

nenkan.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>出版社</TITLE>
<META http-equiv=Content-Type content="text/html; charset=EUC-JP">
<META http-equiv="Content-Style-Type" content="text/css">
<style type=text/css>
<!--
table { font-size: 11pt; color: #000000}
-->
</style>
</HEAD>
<BODY>
<CENTER>
<BR>
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR><TD ALIGN="center">・・・・・・・・・・・・・・・・<FONT SIZE="3"><B>雑誌年間購読</B></FONT>・・・・・・・・・・・・・・・・・<BR><BR></TD></TR>
<TR><TD ALIGN="center"><BR>
  <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
  <TR VALIGN="top"><TD COLSPAN="2">雑誌の定期購読のお申込みを承っています。<BR><BR></TD></TR>
  <TR VALIGN="top"><TD>※<BR></FONT></TD>
    <TD>送料は小社で全額負担させていただきます。<BR></TD></TR>
  <TR VALIGN="top"><TD>※<BR></FONT></TD>
    <TD>商品のご注文、配送は、現在のところ日本国内在住の方に限っています。<BR>海外からのご注文、海外への配送はできませんのでご了承ください。<BR></TD>></TR>
  </TABLE><BR>
  </TD>
</TR>
<TR><TD ALIGN="center"><FORM action="kakunin.php" method="post">
  <TABLE BORDER="0" CELLSPACING="7" CELLPADDING="5">
  <TR><TD VALIGN="top" ALIGN="center"><IMG SRC="a.gif"><BR><BR>
    <input type="checkbox" name="book[]" value="1"><input type="hidden" name="book_s[]" value="1">
    <B>月刊A</B><BR>年間購読料金 8,400円<br></TD>

  <TD VALIGN="top" ALIGN="center"><IMG SRC="b.gif"><BR><BR>
    <input type="checkbox" name="book[]" value="2"><input type="hidden" name="book_s[]" value="2">
    <B>月刊B</B><BR>年間購読料金 7,500円<br></TD>

  <TD VALIGN="top" ALIGN="center"><IMG SRC="c.gif"><BR><BR>
    <input type="checkbox" name="book[]" value="3"><input type="hidden" name="book_s[]" value="3">
    <B>月刊C</B><BR>年間購読料金 9,300円<br></TD>
  </TR>
  </TABLE><BR><BR>
  </TD>
</TR>
<TR><TD ALIGN="center">・・・・・・・・・・・・・・・・・<FONT SIZE="3"><B>申込者情報</B></FONT>・・・・・・・・・・・・・・・・・・<BR><BR>
    <FONT COLOR="#ff0000">*</FONT> ←このマークのある所は必須です。</TD></TR>
<TR><TD ALIGN="center">
<TABLE BORDER="0" CELLSPACING="5" CELLPADDING="0" WIDTH="500">
<TR><TD ALIGN="right"><FONT COLOR="#ff0000">*</FONT>氏名</TD>
  <TD><INPUT name="name" TYPE="text" SIZE="35"></TD></TR>
<TR><TD ALIGN="right"><FONT COLOR="#ff0000">*</FONT>ふりがな</TD>
  <TD><INPUT name="furi" TYPE="text" SIZE="35"></TD></TR>
<TR><TD ALIGN="right"><FONT COLOR="#ff0000">*</FONT>郵便番号</TD>
  <TD><INPUT name="zip" TYPE="text" maxlength="8" SIZE="20" STYLE="ime-mode:disabled"> <FONT SIZE="2">000-0000 の形で入力して下さい</FONT></TD></TR>
<TR><TD ALIGN="right"><FONT COLOR="#ff0000">*</FONT>都道府県</TD>
  <TD>
  <SELECT name="pref">
  <OPTION value="0" SELECTED>選択してください
  <OPTION value="北海道">北海道
  <OPTION value="青森県">青森県
  <OPTION value="岩手県">岩手県
  <OPTION value="秋田県">秋田県
  <OPTION value="山形県">山形県
  <OPTION value="宮城県">宮城県
  <OPTION value="福島県">福島県
  <OPTION value="茨城県">茨城県
  <OPTION value="栃木県">栃木県
  <OPTION value="群馬県">群馬県
  <OPTION value="埼玉県">埼玉県
  <OPTION value="千葉県">千葉県
  <OPTION value="東京都">東京都
  <OPTION value="神奈川県">神奈川県
  <OPTION value="新潟県">新潟県
  <OPTION value="山梨県">山梨県
  <OPTION value="長野県">長野県
  <OPTION value="静岡県">静岡県
  <OPTION value="富山県">富山県
  <OPTION value="石川県">石川県
  <OPTION value="福井県">福井県
  <OPTION value="岐阜県">岐阜県
  <OPTION value="愛知県">愛知県
  <OPTION value="三重県">三重県
  <OPTION value="滋賀県">滋賀県
  <OPTION value="京都府">京都府
  <OPTION value="大阪府">大阪府
  <OPTION value="兵庫県">兵庫県
  <OPTION value="奈良県">奈良県
  <OPTION value="和歌山県">和歌山県
  <OPTION value="鳥取県">鳥取県
  <OPTION value="島根県">島根県
  <OPTION value="岡山県">岡山県
  <OPTION value="広島県">広島県
  <OPTION value="山口県">山口県
  <OPTION value="徳島県">徳島県
  <OPTION value="香川県">香川県
  <OPTION value="愛媛県">愛媛県
  <OPTION value="高知県">高知県
  <OPTION value="福岡県">福岡県
  <OPTION value="佐賀県">佐賀県
  <OPTION value="長崎県">長崎県
  <OPTION value="熊本県">熊本県
  <OPTION value="大分県">大分県
  <OPTION value="宮崎県">宮崎県
  <OPTION value="鹿児島県">鹿児島県
  <OPTION value="沖縄県">沖縄県
  </SELECT><BR>
</TD>
</TR>
<TR>
<TD ALIGN="right"><FONT COLOR="#ff0000">*</FONT>ご住所</TD>
  <TD><INPUT name="address" TYPE="text" SIZE="44"></TD></TR>
<TR>
<TD ALIGN="right"><FONT COLOR="#ff0000">*</FONT>お電話番号</TD>
  <TD><INPUT name="tel" maxlength="12" STYLE="ime-mode:disabled" TYPE="text" SIZE="35"></TD></TR>
<TR><TD ALIGN="right">FAX番号</TD>
  <TD><INPUT name="fax" TYPE="text" SIZE="35"></TD></TR>
<TR><TD ALIGN="right"><FONT COLOR="#ff0000">*</FONT>E-Mailアドレス</TD>
  <TD><INPUT name="email" TYPE="text" SIZE="35" value="" STYLE="ime-mode:disabled"></TD></TR>
<TR><TD COLSPAN="2"><BR><BR><FONT COLOR="#FF0000">※</FONT>以下はご住所とお届け先が違う場合のみご記入ください </TD><TR>
<TR><TD ALIGN="right">お届け先 郵便番号</TD>
  <TD><INPUT name="zip2" TYPE="text" maxlength="8" SIZE="20" value="" STYLE="ime-mode:disabled"></TD></TR>
<TR><TD ALIGN="right">お届け先 ご住所</TD>
  <TD><INPUT name="address2" TYPE="text" SIZE="44"></TD></TR>
<TR><TD ALIGN="right">お届け先 氏名</TD>
  <TD><INPUT name="name2" TYPE="text" SIZE="44"></TD></TR>
</TABLE>
<HR>
<TABLE WIDTH="450" BORDER="0" CELLSPACING="5" CELLPADDING="0">
<TR><TD><FONT COLOR="#FF0000">▼</FONT>決済方法を下記の中からお選びください。<BR><BR>
お申し込み後、小社より郵便・コンビニ振替用紙をお送りしますのでご入金ください。ご入金を確認後、お届けできる号より発送の手続きをとらせていただきます。<BR><BR></TD></TR>
<TR><TD><INPUT TYPE="radio" name="pay" value="郵便振替(先払い)"> 郵便振替(先払い)</TD></TR>
<TR><TD><INPUT TYPE="radio" name="pay" value="コンビニ振替(先払い)"> コンビニ振替(先払い)</TD></TR>
</TABLE>
<TR><TD><HR></TD></TR>
<TR><TD ALIGN="center"><BR>必要事項をご入力いただき、誤りがなければ「確認する」ボタンをクリックしてください。<BR><BR>
  <INPUT TYPE="submit" name="submit" VALUE=" 確認する "></TD></TR>
</TABLE>
</FORM>
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="500">
<TR><TD><HR></TD></TR>
<TR><TD ALIGN="center">(受付時間は、土曜、日曜、祭日を除く、平日の9時30分から17時30分まで)</TD></TR>
<TR><TD><BR>【ご注意】<BR>ご注文は国内に限らせていただきます。<BR>海外からのご注文は受けつけておりませんので、ご了承ください。</TD></TR>
</TABLE>
<BR>
</BODY>
</HTML>


■ ソース

kakunin.php
<?php
$submit = $HTTP_POST_VARS["submit"];
$book = $HTTP_POST_VARS["book"];
$book_s = $HTTP_POST_VARS["book_s"];
$name = $HTTP_POST_VARS["name"];
$furi = $HTTP_POST_VARS["furi"];
$zip = $HTTP_POST_VARS["zip"];
$pref = $HTTP_POST_VARS["pref"];
$address = $HTTP_POST_VARS["address"];
$tel = $HTTP_POST_VARS["tel"];
$fax = $HTTP_POST_VARS["fax"];
$email = $HTTP_POST_VARS["email"];
$zip2 = $HTTP_POST_VARS["zip2"];
$address2 = $HTTP_POST_VARS["address2"];
$name2 = $HTTP_POST_VARS["name2"];
$pay = $HTTP_POST_VARS["pay"];

$item = array("name","furi","zip","pref","address","tel","fax","email","pay");

  // 個人情報を変数に格納 & エラーチェック
  $err = "";
  $reg_date = date("Y/m/d");
  if ( $$item[0] ) { $reg_name= $$item[0]; } else { $err .= "氏名が未記入です。<BR>\n"; }
  if ( $$item[1] ) { $reg_furi= $$item[1]; } else { $err .= "ふりがなが未記入です。<BR>\n"; }
  if ( $$item[2] ) { $reg_zip= $$item[2]; } else { $err .= "郵便番号が未記入です。<BR>\n"; }
  if (!eregi("^[0-9]{3}\-[0-9]{4}$", $zip)) { $err .= "郵便番号が正しくありません。<BR>\n"; }
  if ( $$item[3] ) { $reg_pref= $$item[3]; } else { $err .= "都道府県が未選択です。<BR>\n"; }
  if ( $$item[4] ) { $reg_address= $$item[4]; } else { $err .= "ご住所が未記入です。<BR>\n"; }
  if ( $$item[5] ) { $reg_tel= $$item[5]; } else { $err .= "お電話番号が未記入です。<BR>\n"; }
  if (!eregi("^[0-9]+\-[0-9]+\-[0-9]+$", $tel)) { $err .= "お電話番号が正しくありません。<BR>\n"; }
  if ( $$item[7] ) { $reg_email= $$item[7]; } else { $err .= "E-Mailアドレスが未記入です。<BR>\n"; }
  if (!eregi("^[_a-z0-9\-]+(\.[_a-z0-9\-]+)*@[a-z0-9\-]+(\.[a-z0-9\-]+)*$", $email)) { $err .= "E-Mailアドレスが正しくありません。<BR>\n"; }
  if ( $$item[8] ) { $reg_pay= $$item[8]; } else { $err .= "決済方法が未選択です。<BR>\n"; }

  // $errに文字列がある場合はエラーページを表示
  if ( $err ) { include("error.php"); exit;}

if($submit == " 確認する "){

// 申などの特殊な決まった文字の後ろに\マークが入らないようにする
$name = stripslashes($name);
$furi = stripslashes($furi);
$address = stripslashes($address);
$address2 = stripslashes($address2);
$name2 = stripslashes($name2);

  print "<HTML><HEAD><TITLE>出版社</TITLE>\n";
  print "<META http-equiv='Content-Type' content='text/html; charset=EUC-JP'>\n";
  print "</HEAD>\n";
  print "<BODY BGCOLOR='#ffffff'><CENTER>\n";
  print "<form name='magazine' method='POST' action='order.php'>\n";
  print "<TABLE BORDER='1' CELLSPACING='0' CELLPADDING='5' WIDTH='450'>\n";
  print "<TR><TD colspan='3'>*お申し込みいただいた定期購読誌は、</TD></TR>\n";
  print "<TR><TD>定期購読誌</TD><TD>消費税</TD><TD>小計</TD></TR>\n";

$BOOK_LIST = array('','月刊A 年間購読料金 8,400円','月刊B 年間購読料金 7,500円','月刊C 年間購読料金 9,300円');
$BOOK_S_LIST = array('','8400','7500','9300');
$book_ns = "0.05";
$book_c = 0;

for( $i=0; $i<count($book); $i++ ) {
  print "<input type=\"hidden\" name=\"book[]\" value=\"".$book[$i]."\">";

  $book_a = $BOOK_S_LIST[$book[$i]] * $book_ns; // 消費税
  $book_b = $book_a + $BOOK_S_LIST[$book[$i]]; // 小計
  $book_c = $book_c + $book_b; // 合計

$book_a_number = number_format($book_a)."円";
$book_c_number = number_format($book_c)."円";
$book_b_number = number_format($book_b)."円";

$book_z = $BOOK_LIST[$book[$i]];

  print "<TR><TD>$book_z</TD><TD>$book_a_number</TD><TD>$book_b_number</TD></TR>\n";

}

  print "<TR><TD colspan=2>合計</TD><TD>$book_c_number</TD></TR>\n";
  print "</TABLE>\n";
  print "<BR>\n";
  print "<TABLE WIDTH='450' BORDER='1' CELLSPACING='0' CELLPADDING='5'>\n";
  print "<TR><TD>氏名</TD><TD>$name<INPUT TYPE='hidden' NAME='name' VALUE='$name'></TD></TR>\n";
  print "<TR><TD>フリガナ</TD><TD>$furi<INPUT TYPE='hidden' NAME='furi' VALUE='$furi'></TD></TR>\n";
  print "<TR><TD>郵便番号</TD><TD>$zip<INPUT TYPE='hidden' NAME='zip' VALUE='$zip'></TD></TR>\n";
  print "<TR><TD>都道府県</TD><TD>$pref<INPUT TYPE='hidden' NAME='pref' VALUE='$pref'></TD></TR>\n";
  print "<TR><TD>住所</TD><TD>$address<INPUT TYPE='hidden' NAME='address' VALUE='$address'></TD></TR>\n";
  print "<TR><TD>電話番号</TD><TD>$tel<INPUT TYPE='hidden' NAME='tel' VALUE='$tel'></TD></TR>\n";
  print "<TR><TD>FAX番号</TD><TD>$fax<INPUT TYPE='hidden' NAME='fax' VALUE='$fax'></TD></TR>\n";
  print "<TR><TD>E-Mailアドレス</TD><TD>$email<INPUT TYPE='hidden' NAME='email' VALUE='$email'></TD></TR>\n";
  print "<TR><TD>お届け先 郵便番号</TD><TD>$zip2<INPUT TYPE='hidden' NAME='zip2' VALUE='$zip2'></TD></TR>\n";
  print "<TR><TD>お届け先 住所</TD><TD>$address2<INPUT TYPE='hidden' NAME='address2' VALUE='$address2'></TD></TR>\n";
  print "<TR><TD>お届け先 氏名</TD><TD>$name2<INPUT TYPE='hidden' NAME='name2' VALUE='$name2'></TD></TR>\n";
  print "<TR><TD>決済方法</TD><TD>$pay<INPUT TYPE='hidden' NAME='pay' VALUE='$pay'></TD></TR>\n";
  print "</TABLE>\n";

  print "<TABLE WIDTH='500' BORDER='0' CELLSPACING='5' CELLPADDING='0'>\n";
  print "<TR><TD ALIGN='center'><BR>必要事項をご入力いただき、誤りがなければ「申し込む」ボタンをクリックしてください。<BR><BR>\n";
  print "<INPUT TYPE='submit' name='submit1' VALUE='申し込む'></TD></TR>\n";
  print "</TABLE>\n";
  print "</form>\n";
  print "<BR></BODY></HTML>\n";
}
?>


■ ソース

order.php
<?php
$submit1 = $HTTP_POST_VARS["submit1"];
$book = $HTTP_POST_VARS["book"];
$book[] = $HTTP_POST_VARS["book[]"];
$BOOK_DATA = $HTTP_POST_VARS["BOOK_DATA"];
$name = $HTTP_POST_VARS["name"];
$furi = $HTTP_POST_VARS["furi"];
$zip = $HTTP_POST_VARS["zip"];
$pref = $HTTP_POST_VARS["pref"];
$address = $HTTP_POST_VARS["address"];
$tel = $HTTP_POST_VARS["tel"];
$fax = $HTTP_POST_VARS["fax"];
$email = $HTTP_POST_VARS["email"];
$zip2 = $HTTP_POST_VARS["zip2"];
$address2 = $HTTP_POST_VARS["address2"];
$name2 = $HTTP_POST_VARS["name2"];
$pay = $HTTP_POST_VARS["pay"];

if($submit1 == "申し込む"){

$BOOK_LIST = array('','月刊A 年間購読料金 8,400円','月刊B 年間購読料金 7,500円','月刊C 年間購読料金 9,300円');
$BOOK_S_LIST = array('','8400','7500','9300');
$book_ns = "0.05";
$book_c = 0;
$BOOK_DATA = ""; //空

for( $i=0; $i<count($book); $i++ ) {

  $book_a = $BOOK_S_LIST[$book[$i]] * $book_ns; // 消費税
  $book_b = $book_a + $BOOK_S_LIST[$book[$i]]; // 小計
  $book_c = $book_c + $book_b; // 合計

$book_c_number = number_format($book_c)."円";
//$book_b_number = number_format($book_b);

$BOOK_DATA .= $BOOK_LIST[$book[$i]]. "\n"; //メール用
}
mb_language("Ja") ;
mb_internal_encoding("EUC-JP") ;

$from ="From:" .mb_encode_mimeheader("出版社") ."<m-o@din.or.jp>";
$reply = "m-o@din.or.jp";

  // メール送信
  $to= "$email";
  $from = "$from";
  $subject = "年間購読お申込内容";
  $usermail = "ありがとうございます。\n\n";
  $usermail .= "下記内容のお申込を受け付けました。\n\n";
  $usermail .= "年間購読:\n";
  $usermail .= "$BOOK_DATA";
  $usermail .= "消費税込み合計金額:$book_c_number\n\n";
  $usermail .= "名前:$name\n\n";
  $usermail .= "名前(ひらがなまたはアルファベット):$furi\n\n";
  $usermail .= "郵便番号:$zip\n\n";
  $usermail .= "都道府県:$pref\n\n";
  $usermail .= "住所:$address\n\n";
  $usermail .= "電話番号:$tel\n\n";
  $usermail .= "FAX番号:$fax\n\n";
  $usermail .= "E-Mailアドレス:$email\n\n";
  $usermail .= "お届け先 郵便番号:$zip2\n\n";
  $usermail .= "お届け先 ご住所:$address2\n\n";
  $usermail .= "お届け先 氏名:$name2\n\n";
  $usermail .= "郵便・コンビニ振替用紙をお送りしますのでご入金ください。\n\n";
  $usermail .= "ご入金を確認後、お届けできる号より発送の手続きをとらせていただきます。\n\n";
  $usermail .= "このメールに覚えのない方は下記メールアドレスに返信してその旨お伝え下さい。ご迷惑おかけしました。\n\n";
  $usermail .= "出版社\n";
  $usermail .= "http://www.\n";
  $usermail .= "m-o@din.or.jp\n\n";

  mb_send_mail($to,$subject,$usermail,$from);

  $to= "$reply";
  $from = "$from";
  $subject = "年間購読申込内容";
  $mail = "年間購読申込がありました。\n\n";
  $mail .= "年間購読:\n";
  $mail .= "$BOOK_DATA";
  $mail .= "消費税込み合計金額:$book_c_number\n\n";
  $mail .= "名前:$name\n\n";
  $mail .= "名前(ひらがなまたはアルファベット):$furi\n\n";
  $mail .= "郵便番号:$zip\n\n";
  $mail .= "都道府県:$pref\n\n";
  $mail .= "住所:$address\n\n";
  $mail .= "電話番号:$tel\n\n";
  $mail .= "FAX番号:$fax\n\n";
  $mail .= "E-Mailアドレス:$email\n\n";
  $mail .= "お届け先 郵便番号:$zip2\n\n";
  $mail .= "お届け先 ご住所:$address2\n\n";
  $mail .= "お届け先 氏名:$name2\n\n";

  mb_send_mail($to,$subject,$mail,$from);

?>
<!-- ここまで送信処理のPHPプログラム //-->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>年間購読申込</title>
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body bgcolor="#FFFFFF" link="#3333ff" vlink="#ff0033" alink="#ffff00">
<div align="center">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr align="center" valign="top">
<td>
<BR><BR><BR>
ありがとうございました。年間購読申込をお受けしました,申込内容をメールいたしましたのでご確認下さい。<BR>
郵便・コンビニ振替用紙をお送りしますのでご入金ください。ご入金を確認後、お届けできる号より発送の手続きをとらせていただきます。
</td>
</tr>
</table>
<BR>
</div>
</body>
</html>
<?php
}
else{
  header("Location: kakunin.php");
}
?>


■ ソース

error.php
<html>
<head>
<title>記入エラー</title>
<META Http-Equiv="Content-Type" Content="text/html;charset=x-euc-jp">
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr align="left" valign="top">
  <td><? echo($err) ?><BR><BR>
  恐れ入りますが、ブラウザの「戻る」ボタンで登録ページに戻り、エラー部分の修正をお願いいたします。
  </td>
</tr>
</table>
</div>
</body>
</html>