PHPでショッピングカートを!【21.簡単なショッピングカート】

PHP

前回までデータベースを使ったショッピングカートを
作ってきましたが、データベースを使わず簡単な
ショッピングカートを作ってみます。

データベースを使わないので会員登録もできません。
なのでデータベース関連と会員登録関連を削除します。

その前に、商品一覧から始まるのですが、
その商品一覧はデータベースから商品情報を
読み込んでいます。

今回データベースから読み込まないので
HTMLに直接商品情報を書き込み、フォームを使って
送信します。

商品一覧修正

追加修正部分のみ記述します。
ファイル名:item_list.php

変更前21~64行目:データベース関連削除

20~96行目:商品一覧表示を追加

20:<h3>商品一覧</h3>
21:カートに入れる商品を選択してください。<br>
22:<table>
23:  <tr>
24:    <td>商品名</td><td>価格</td><td>数量</td><td>カート</td>
25:  </tr>
26:  <tr><form method="post" action="item_cart.php">
27:    <input type="hidden" name="id" value="1">
28:    <td><input type="hidden" name="name" value="マアジ">マアジ</td>
29:    <td class="right"><input type="hidden" name="price" value="500">500</td>
30:    <td><input type="text" name="num" value="1" style="width:30px;"></td>
31:    <td><input type="submit" value="カート"></td></form>
32:  </tr>
33:  <tr><form method="post" action="item_cart.php">
34:    <input type="hidden" name="id" value="2">
35:    <td><input type="hidden" name="name" value="ブリ">ブリ</td>
36:    <td class="right"><input type="hidden" name="price" value="650">650</td>
37:    <td><input type="text" name="num" value="1" style="width:30px;"></td>
38:    <td><input type="submit" value="カート"></td></form>
39:  </tr>
40:  <tr><form method="post" action="item_cart.php">
41:    <input type="hidden" name="id" value="3">
42:    <td><input type="hidden" name="name" value="ヒラメ">ヒラメ</td>
43:    <td class="right"><input type="hidden" name="price" value="1500">1,500</td>
44:    <td><input type="text" name="num" value="1" style="width:30px;"></td>
45:    <td><input type="submit" value="カート"></td></form>
46:  </tr>
47:  <tr><form method="post" action="item_cart.php">
48:    <input type="hidden" name="id" value="4">
49:    <td><input type="hidden" name="name" value="カサゴ">カサゴ</td>
50:    <td class="right"><input type="hidden" name="price" value="1100">1,100</td>
51:    <td><input type="text" name="num" value="1" style="width:30px;"></td>
52:    <td><input type="submit" value="カート"></td></form>
53:  </tr>
54:  <tr><form method="post" action="item_cart.php">
55:    <input type="hidden" name="id" value="5">
56:    <td><input type="hidden" name="name" value="カツオ">カツオ</td>
57:    <td class="right"><input type="hidden" name="price" value="500">500</td>
58:    <td><input type="text" name="num" value="1" style="width:30px;"></td>
59:    <td><input type="submit" value="カート"></td></form>
60:  </tr>
61:  <tr><form method="post" action="item_cart.php">
62:    <input type="hidden" name="id" value="6">
63:    <td><input type="hidden" name="name" value="クロマグロ">クロマグロ</td>
64:    <td class="right"><input type="hidden" name="price" value="3000">3,000</td>
65:    <td><input type="text" name="num" value="1" style="width:30px;"></td>
66:    <td><input type="submit" value="カート"></td></form>
67:  </tr>
68:  <tr><form method="post" action="item_cart.php">
69:    <input type="hidden" name="id" value="7">
70:    <td><input type="hidden" name="name" value="マサバ">マサバ</td>
71:    <td class="right"><input type="hidden" name="price" value="400">400</td>
72:    <td><input type="text" name="num" value="1" style="width:30px;"></td>
73:    <td><input type="submit" value="カート"></td></form>
74:  </tr>
75:  <tr><form method="post" action="item_cart.php">
76:    <input type="hidden" name="id" value="8">
77:    <td><input type="hidden" name="name" value="サケ">サケ</td>
78:    <td class="right"><input type="hidden" name="price" value="700">700</td>
79:    <td><input type="text" name="num" value="1" style="width:30px;"></td>
80:    <td><input type="submit" value="カート"></td></form>
81:  </tr>
82:  <tr><form method="post" action="item_cart.php">
83:    <input type="hidden" name="id" value="9">
84:    <td><input type="hidden" name="name" value="サンマ">サンマ</td>
85:    <td class="right"><input type="hidden" name="price" value="450">450</td>
86:    <td><input type="text" name="num" value="1" style="width:30px;"></td>
87:    <td><input type="submit" value="カート"></td></form>
88:  </tr>
89:  <tr><form method="post" action="item_cart.php">
90:    <input type="hidden" name="id" value="10">
91:    <td><input type="hidden" name="name" value="マダイ">マダイ</td>
92:    <td class="right"><input type="hidden" name="price" value="1000">1,000</td>
93:    <td><input type="text" name="num" value="1" style="width:30px;"></td>
94:    <td><input type="submit" value="カート"></td></form>
95:  </tr>
96:</table>

ショッピングカート修正

追加修正部分のみ記述します。
ファイル名:item_cart.php

追加分

37:  $p_name=$post['name'];
38:  $p_price=$post['price'];
44:    $name=$_SESSION['name'];
45:    $price=$_SESSION['price'];
57:    $name[]=$p_name;
58:    $price[]=$p_price;
61:    $_SESSION['name']=$name;
62:    $_SESSION['price']=$price;
73:  $name=$_SESSION['name'];
74:  $price=$_SESSION['price'];

削除分(データベース関連)
変更前87~90・93~99・120~125行目

顧客情報入力修正

追加修正部分のみ記述します。
ファイル名:inputinfo.html

削除分(会員登録関連)
変更前42~59・62~64・91~110行目

顧客情報入力チェック修正

追加修正部分のみ記述します。
ファイル名:inputinfo_chk.php

削除分(データベース・会員登録関連)
変更前43~88・96~98・100~127・192~217・
219・245~248・251~257・266~272・286~288行目

変更前226行目追加分

121:    $name=$_SESSION['name'];
122:    $price=$_SESSION['price'];

顧客情報入力チェック完了修正

追加修正部分のみ記述します。
ファイル名:inputinfo_end.php

削除分(データベース・会員登録関連)
変更前52~54・60~65・79~85・90~95・
100~107・111~115・127~130・133~139・
153~159・196~271行目

変更前120行目追加分

85:$name=$_SESSION['name'];
86:$price=$_SESSION['price'];

変更前271行目追加分

146:unset($_SESSION['name']);
147:unset($_SESSION['price']);

ファイルダウンロード

カート関連6ファイル、関数用1ファイル

解凍すれば使用できます。

注意点として、この中のinputinfo_end.phpファイル
をそのまま使うとメール送信がコメントアウト
した状態なので送信できません

自動返信メールの動作確認するためには
143行目の受信メールアドレスを設定して
136・143行目行頭の[//]を削除してください。

ローカル環境(PC上)で動作確認するためには、
XAMPPなどのソフトが必要です。

記 事 紹 介
XAMPPを入れPCローカル環境でPHPを表示するには

ここまでショッピングカート作りをしてきましたが、
1~21までと結構長くなってしまいました。

初めからデータベースを使わない簡単な
ショッピングカートを作成すれば、
すぐにでもできたでしょうね・・・。

後は応用編としてデータベースを使えば
良かったのかもしれません。

いきなりデータベースを使ったので
途中であきらめた方もいたかもしれませんね。

やっとこれで、「PHPでショッピングカートを!」
を終わりました。

コメント

タイトルとURLをコピーしました