質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

3回答

1103閲覧

ECサイトにおける注文個数の管理

Tsuyoponpon

総合スコア33

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2019/04/26 03:55

前提・実現したいこと

経験が浅い者ですが、ご教授のほど宜しくお願いいたします。

現在ローカル環境で、ECサイトの制作を勉強しておりますが、以下のようなエラーに昨夜から苦しんでおります。
実現したいことは、
**「ユーザーが商品の個数を入力して注文ボタンを押し、その入力した値をもとに注文内容確認画面で詳細を表示させる」**ということです。

発生している問題・エラーメッセージ

Parse error: syntax error, unexpected '$product' (T_VARIABLE) in C:\xampp\htdocs******.php******************.php on line **

該当のソースコード

PHP

1   //注文確認画面ファイル 2 <?php require_once('インストラクタのファイル') ?> 3  <h1>ご注文内容の確認</h1> 4 <?php foreach($products as $product) :?> 5 <?php $orderCount = $_POST=[$product->getName()] 6 $product->setOrderCount($orderCount); 7 //↑ここでエラーが発生します 8    ?> 9    個 10 <?php endforeach ?> 11 12 13  //セッター定義ファイル 14   <?php 15 private $orderCount = 0; 16 17 public function getOrderCount() { 18 return $this->orderCount; 19} 20 21public function setOrderCount($orderCount) { 22 $this->orderCount = $orderCount; 23} 24?> 25 26 //ユーザーが注文数を入力する画面のファイル 27 <form action="注文内容確認ファイル" method="post"> 28 <input class="product-amount" type="text" name="<?php echo $menu->getName() ?>" value="1"> 29 //↑ここに入力された値を注文確認画面で受け取る 30 </form> 31 32 //インストラクタのファイル 33    require_once('セッター定義のファイル'); 34     35 36   $*** = new Product('情報','画像','商品名',金額); 37 38   $products = array($***,$***,$***…); 39 40 41

試したこと

誤字や脱字のチェックを一通り行い、foreachの中身の変更などを行いました。
他には何をしていいかわからず途方に暮れています。
よろしければ、ご教授をお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/04/26 05:02

タイトルと起きている問題の落差が激しいと思います。 タイトルはなるべく起きている問題(質問内容の要約)にフォーカスしたほうが読むほうも理解しやすくなると思います。調整してみてください。
m.ts10806

2019/04/26 05:05

あと、コードブロックはファイル毎にわけたほうが分かりやすいです。 ほぼ全てのひとが質問のコードは初見なわけですから、1つにまとまっていると1つのファイルに全て書いてあると認識します。 下記のようになっているのが理想です。 XXX.php ```php // XXX.phpのコード ``` MMM.php ```php // MMM.phpのコード ```
Tsuyoponpon

2019/04/26 08:39

ご指摘有難う御座います! 以後気を付けます!!
m.ts10806

2019/04/26 10:06

質問は編集できますので、次以降で結構ですので適宜ご対応いただければと
guest

回答3

0

php

1<?php $orderCount = $_POST=[$product->getName()] 2 $product->setOrderCount($orderCount);

つまりこうなってます。

php

1<?php $orderCount = $_POST=[$product->getName()]$product->setOrderCount($orderCount);

投稿2019/04/26 03:58

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tsuyoponpon

2019/04/26 11:15

無事解決いたしました。 ご教授、有難う御座いました!!
guest

0

ベストアンサー

$menuと$productは別物ですよね?

<input class="product-amount" type="text" name="<?php echo $menu->getName() ?>" value="1">

で送信されたなら$menu->getName()の結果が$_POSTのキーの1つとして設定されていると思います。

送信前のhtmlソースの該当箇所(inputのnameの設定値)をブラウザ「ソースの表示」や開発者ツールの「Elements」などで確認し、
var_dump()で$_POSTの内容も確認してください。

投稿2019/04/26 04:20

編集2019/04/26 04:21
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

以下でどうでしょう。

PHP

1$orderCount = $_POST=[$product->getName()] 23$orderCount = $_POST[$product->getName()]; 4

php

1<?php endforeach ?> 23<?php endforeach; ?>

投稿2019/04/26 04:01

mayoi_maimai

総合スコア1583

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tsuyoponpon

2019/04/26 04:18 編集

早速のご教授、有難う御座います。 ご指導通りに試させていただきましたが、以下のようなエラーが発生いたしました。 Notice: Undefined index: ’インストラクタのnameプロパティ’ in C:\xampp\htdocs****.php************.php on line 24 Warning: Use of undefined constant      - assumed '    ' (this will throw an Error in a future version of PHP) in C:\xampp\htdocs****.php************.php on line 27 個 24行目  <?php $orderCount = $_POST[$product->getName()]; 25 26 $product->setOrderCount($orderCount); 27     ?> 28 個 となりました。 よろしければ再度、ご指導をお願い致します。
Y.H.

2019/04/26 04:37 編集

> assumed '    ' <?php と ?>で囲まれたPHPのソースファイル内に、全角空白があります。すべて半角空白に修正しましょう。 もう一度、「誤字や脱字のチェックを一通り」行いましょう。
m.ts10806

2019/04/26 05:14 編集

コメントに書こうと思って回答にしてしまいました。
mayoi_maimai

2019/04/26 05:12

出ているエラーは定義されていない配列の要素、もしくは変数を使ったときに発生するエラーなので、mts10806さんの回答を参考にして$_POSTの内容を確認してみてはどうでしょう。 あと$product->getName()の結果も確認した方がいいかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問