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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

801閲覧

requir_once() について

Thank_you

総合スコア8

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2020/02/20 14:13

編集2020/02/21 00:45

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

該当のソースコード

PHP

1```ファイル名 menu.php 2<?php 3class Menu { 4 private $name; 5 private $price; 6 private $image; 7 private $orderCount = 0; 8 // $countというpublicなクラスプロパティを、初期値を数値の4として定義してください 9 public static $count = 4 ; 10 11 public function __construct($name, $price, $image) { 12 $this->name = $name; 13 $this->price = $price; 14 $this->image = $image; 15 } 16 17 public function hello() { 18 echo '私は'.$this->name.'です'; 19 } 20 21 public function getName() { 22 return $this->name; 23 } 24 25 public function getImage() { 26 return $this->image; 27 } 28 29 public function getOrderCount() { 30 return $this->orderCount; 31 } 32 33 public function setOrderCount($orderCount) { 34 $this->orderCount = $orderCount; 35 } 36 37 public function getTaxIncludedPrice() { 38 return floor($this->price * 1.08); 39 } 40 41 public function getTotalPrice() { 42 return $this->getTaxIncludedPrice() * $this->orderCount; 43 } 44 45} 46?>

PHP

1```ファイル名 date.php 2<?php 3require_once('menu.php'); 4 5$juice = new Menu('JUICE', 600, 'https://s3-ap-northeast-1.amazonaws.com/progate/shared/images/lesson/php/juice.png'); 6$coffee = new Menu('COFFEE', 500, 'https://s3-ap-northeast-1.amazonaws.com/progate/shared/images/lesson/php/coffee.png'); 7$curry = new Menu('CURRY', 900, 'https://s3-ap-northeast-1.amazonaws.com/progate/shared/images/lesson/php/curry.png'); 8$pasta = new Menu('PASTA', 1200, 'https://s3-ap-northeast-1.amazonaws.com/progate/shared/images/lesson/php/pasta.png'); 9 10$menus = array($juice, $coffee, $curry, $pasta); 11 12?>

PHP

1```ファイル名 index.php 2<?php 3require_once('data.php'); 4// menu.phpを読み込んでください 5require_once('menu.php'); 6 7?> 8 9<!DOCTYPE html> 10<html> 11<head> 12 <meta charset="utf-8"> 13 <title>Café Progate</title> 14 <link rel="stylesheet" type="text/css" href="stylesheet.css"> 15 <link href='https://fonts.googleapis.com/css?family=Pacifico|Lato' rel='stylesheet' type='text/css'> 16</head> 17<body> 18 <div class="menu-wrapper container"> 19 <h1 class="logo">Café Progate</h1> 20 <!-- Menuクラスのクラスプロパティ$countを表示してください --> 21 <h3>メニュー<?php echo Menu::$count ?></h3> 22 <form method="post" action="confirm.php"> 23 <div class="menu-items"> 24 <?php foreach ($menus as $menu): ?> 25 <div class="menu-item"> 26 <img src="<?php echo $menu->getImage() ?>" class="menu-item-image"> 27 <h3 class="menu-item-name"><?php echo $menu->getName() ?></h3> 28 <p class="price">¥<?php echo $menu->getTaxIncludedPrice() ?>(税込)</p> 29 <input type="text" value="0" name="<?php echo $menu->getName() ?>"> 30 <span></span> 31 </div> 32 <?php endforeach ?> 33 </div> 34 <input type="submit" value="注文する"> 35 </form> 36 </div> 37</body> 38</html> 39
### 補足情報(FW/ツールのバージョンなど) ![イメージ説明](fc086bdd1108119b3651f3231b59f7dd.png) 使っているエディタやバージョンは確認できませんでした。 現在progateというサイトでPHPの学習をしています。 現在ウェブサイトの注文ページの制作をしており、画像と注文数、金額を表示するよう製作しています。 今回の追記ではコードにコメントを打ってある所が新しく付け加えた部分なのですがindex.phpの上側にありますrequire_once('menu.php');が必要になるのは何故でしょうか?

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/02/20 22:34

IDEの仕様では PHPでの実行は問題ないはず
Thank_you

2020/02/20 23:12

ご回答ありがとうございます! 仕様の差であってPHPのルール自体に赤線が必要というわけではないことがわかり安心しました。 ありがとうございます!
m.ts10806

2020/02/20 23:54

コードは画像で提示されてもこちらで再現確認できませんので、テキストで、マークダウンにてご提示ください。 あと、解決したんですかね? https://teratail.com/help#resolve-myself とはいえ、その学習サイトがなんなのかも分からないですし、何を作ろうとしているかもこれだけでは不明ですし、使っているエディタもバージョンも提示されてないので的確なアドバイスにはなりません。 質問編集してきちんと説明された方が今後も含めて良いアドバイスが得られるのでは。
m.ts10806

2020/02/21 00:37

>使っているエディタやバージョンは確認できませんでした。 では、どこでどうやって提示のコードを打って実行してるんでしょう(PHPの環境はどうやって作ってるのでしょう)。 Progate受講経験がないので、そちらも追記してください。
Thank_you

2020/02/21 00:47 編集

m.ts10806 さん progatoはこのように利用しています。環境などの確認方法が分かりかねますのでスクリーンショットを添付しました。
m.ts10806

2020/02/21 01:04

Webブラウザ上でということですかね。
Thank_you

2020/02/21 01:08

はい、サファリ やGoogleで開いております。 全然知識がないためうまく伝えることが出来ず申し訳ないです。
m.ts10806

2020/02/21 01:12

いえ、「どこでどうやって」が分かれば大丈夫です。 しかし、Progate内となると回答できる人が限られますね。 date.php内でmenu.phpを読んでるのでindex.phpにはむしろ不要に思います。
Thank_you

2020/02/21 01:37

なるほど…PHPのコードだけでなくどこでどうやるかも肝心なんですね。 勉強になりました 一旦はこのまま過程を進めてみつつ自分でもprogate外でPHPに触れてみて自己解決できるよう模索してみます。 お力添えありがとうございました!
guest

回答1

0

自己解決

学習サイト外で実際にPHPに触れてみる

投稿2020/02/21 01:39

Thank_you

総合スコア8

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問