前回までデータベースを使ったショッピングカートを
作ってきましたが、データベースを使わず簡単な
ショッピングカートを作ってみます。
データベースを使わないので会員登録もできません。
なのでデータベース関連と会員登録関連を削除します。
その前に、商品一覧から始まるのですが、
その商品一覧はデータベースから商品情報を
読み込んでいます。
今回データベースから読み込まないので
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などのソフトが必要です。
ここまでショッピングカート作りをしてきましたが、
1~21までと結構長くなってしまいました。
初めからデータベースを使わない簡単な
ショッピングカートを作成すれば、
すぐにでもできたでしょうね・・・。
後は応用編としてデータベースを使えば
良かったのかもしれません。
いきなりデータベースを使ったので
途中であきらめた方もいたかもしれませんね。
やっとこれで、「PHPでショッピングカートを!」
を終わりました。
コメント