人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPについて質問です。

プログラム詳しい方で時間があるかたおりましたら、コードをチェックして頂ければと考えております。

現在ショッピングカートのシステムを作成しております。

下記が今回作成したページになります。

★商品購入ページ

URL:http://oskuni7.sakura.ne.jp/hatena/question1/hanbai.php
コード:http://oskuni7.sakura.ne.jp/hatena/question1/hanbai.txt

★ショッピングカートの中身

URL:http://oskuni7.sakura.ne.jp/hatena/question1/cart_nakami.php
コード:http://oskuni7.sakura.ne.jp/hatena/question1/cart_nakami.txt

今回は

●商品の購入ボタンを押すとカートの確認画面で商品がきちんと追加される。

●削除ボタンを押して削除される。

という一連の動作をスムーズに出来ることを目標として作成しました。

しかし、問題点が幾つか発生しており

★問題1 初めて扱う二次元配列で、Warning: Cannot use a scalar value as an arrayというエラーが発生。

★問題2 数多く追加と削除を繰り返す際、どのようにプログラムを組めば効率的か?

といった問題点を抱えております。

ご回答頂いた方多めにポイントを支払わせて頂ければと考えております。

どうぞよろしくお願いいたします。


●質問者: aiomock
●カテゴリ:コンピュータ インターネット
✍キーワード:as PHP URL Warning エラー
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● goodvn
●100ポイント

すいません.アドバイスしようと思いましたが,とりあえず動作しませんでした

コードは,txt ではなく,phps にすると見やすいと思います

動くようになったら,コード見ながらアドバイスできるかもしれません

◎質問者からの返答

ご回答ありがとうございます。

拡張子phps に設定させて頂きました。


★商品購入ページ

http://oskuni7.sakura.ne.jp/hatena/question1/hanbai.phps


★ショッピングカートの中身

http://oskuni7.sakura.ne.jp/hatena/question1/cart_nakami.phps


phpsファイルにすると色が付くと書いてあったのですが色が反映されていないのは何か問題があるのでしょうか。(私側で確認したところ色が反映されておりませんでした)


2 ● goodvn
●100ポイント ベストアンサー

基本的な設計がまずいので,これをベースに修正するより,他のアプリケーションのコードを見て勉強されるのが良いと思いますが,このコードを使う前提でいくつか気づいた点を上げておきます

まず,セッションの使い方ですが,セッションは一度スタートすればいいので,各商品リスト取り扱いの中の session_start() は不要です

配列ですが,例えば,

$_SESSION['TABLE'][0]['TITLE'] = '商品1';
$_SESSION['TABLE'][0]['PRICE'] = '12000';
$_SESSION['TABLE'][1]['TITLE'] = '商品2';
$_SESSION['TABLE'][1]['PRICE'] = '7800';
<||

となっていれば,$_SESSION['TABLE'] の要素数を数えれば (count()関数),テーブルの列数は分かりますから,インクリメントなどの処理は必要ありません

商品を複数扱うのであれば,

>|PHP|
$products = array(
 'a1' => array(
 'title' => '商品1',
 'price' => '12000',
 ),
 'a2' => array(
 'title' => '商品2',
 'price' => '7800',
 ),
);

といった配列を使って一気に管理できますから,ハードコーディングよりスムーズにコードを書けると思います

具体的に言えば,この配列は,

$products['a1']['title']; //商品a1の名前
$products['a2']['price']; //商品a2の値段

といった具合にアクセスできますので,これをうまく使えば,同じようなコードを何個も書く必要は無いし,商品を増やすときは,配列を管理するだけでいいですよね

複雑なショッピングカートのプログラムを見ても参考にならないだろうし,逆に戸惑うと思いますので,まずはシンプルで良いので,きちんと書かれたアプリケーション(サンプルレベルのプログラムではなく)のソースコードを,疑問点が一個もなくなるまで徹底的に読み込むと勉強になると思います

◎質問者からの返答

ご回答ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ