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

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

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

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

Q&A

解決済

3回答

595閲覧

phpファイルでコメントアウト(/* */)すると、ブラウザで見た際にソースが表示されてしまう。

mayu

総合スコア14

PHP

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

0グッド

0クリップ

投稿2019/08/24 17:01

編集2019/08/25 00:44

phpファイルでコメントアウト(/* */)すると、ブラウザで見た際にソースが表示されてしまう。

phpで問い合わせフォームを作る練習をしているのですが、下記のソースをサーバにアップしてブラウザで表示したところ、ソースがそのまま表示されてしまいます。
ファイル名は、contact.phpとしています。

html

1<?php 2if($_SERVER['REQUEST_METHOD']==='POST'){ 3 4 //バリデーション 5 $inquiry = $_POST['inquiry']; 6 $name = $_POST['name']; 7 $email = $_POST['email']; 8 $error = array(); 9 10 if (empty($inquiry)){ 11 $error['inquiry']='必ずご記入ください'; 12 } 13 14 if (empty($name)){ 15 $error['name']='必ずご記入ください'; 16 } 17 18 if (!filter_var($email, FILTER_VALIDATE_EMAIL)){ 19 $error['email']='メールアドレスの形式が正しくありません。'; 20 } 21 22 if (empty($error)){ 23 header('Location:thanks.php'); 24 exit; 25 } 26} 27 28/* htmlの特殊文字をエスケープ */ 29 function h($str){ 30 return htmlspecialchars($str, ENT_QUOTES, 'UTF-8'); 31 } 32 33?> 34 35 36<!DOCTYPE html> 37<html lang="ja"> 38<head> 39 <meta charset="UTF-8"> 40 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 41 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 42 <title>FORM PHP</title> 43</head> 44<body> 45<h1>問い合わせフォーム</h1> 46<form action="" method="post"> 47 <p>■お名前 ※必須</p> 48 <?php if(isset($error['name'])) echo h($error['name']); ?> 49 <input type="text" name="name" id="" value=""> 50 51 <p>■E-mail ※必須</p> 52 <?php if(isset($error['email'])) echo h($error['email']); ?> 53 <input type="email" name="email" id="" value=""> 54 55 <p>■問い合わせ内容 ※必須</p> 56 <?php if(isset($error['inquiry'])) echo h($error['inquiry']); ?> 57 <textarea name="inquiry" id="" cols="100" rows="10"></textarea> 58 59 <button type="submit">送信</button> 60 61</form> 62</body> 63</html>

をアップすると、

php

1<?php 2if($_SERVER['REQUEST_METHOD']==='POST'){ 3 4 //繝舌Μ繝��繧キ繝ァ繝ウ 5 $inquiry = $_POST['inquiry']; 6 $name = $_POST['name']; 7 $email = $_POST['email']; 8 $error = array(); 9 10 if (empty($inquiry)){ 11 $error['inquiry']='蠢�★縺碑ィ伜�縺上□縺輔>'�� 12 } 13 14 if (empty($name)){ 15 $error['name']='蠢�★縺碑ィ伜�縺上□縺輔>'�� 16 } 17 18 if (!filter_var($email, FILTER_VALIDATE_EMAIL)){ 19 $error['email']='繝。繝シ繝ォ繧「繝峨Ξ繧ケ縺ョ蠖「蠑上′豁」縺励¥縺ゅj縺セ縺帙s縲�'�� 20 } 21 22 if (empty($error)){ 23 header('Location:thanks.php'); 24 exit; 25 } 26} 27 28/* html縺ョ迚ケ谿頑枚蟄励r繧ィ繧ケ繧ア繝シ繝� */ 29 function h($str){ 30 return htmlspecialchars($str, ENT_QUOTES, 'UTF-8'); 31 } 32 33?> 34 35 36<!DOCTYPE html> 37<html lang="ja"> 38<head> 39 <meta charset="UTF-8"> 40 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 41 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 42 <title>FORM PHP</title> 43</head> 44<body> 45<h1>蝠上>蜷医o縺帙ヵ繧ゥ繝シ繝�</h1> 46<form action="" method="post"> 47 <p>笆�縺雁錐蜑阪€€窶サ蠢���</p> 48 <?php if(isset($error['name'])) echo h($error['name']); ?> 49 <input type="text" name="name" id="" value=""> 50 51 <p>笆�E-mail縲€窶サ蠢���</p> 52 <?php if(isset($error['email'])) echo h($error['email']); ?> 53 <input type="email" name="email" id="" value=""> 54 55 <p>笆�蝠上>蜷医o縺帛�螳ケ縲€窶サ蠢���</p> 56 <?php if(isset($error['inquiry'])) echo h($error['inquiry']); ?> 57 <textarea name="inquiry" id="" cols="100" rows="10"></textarea> 58 59 <button type="submit">騾∽ソ。</button> 60 61</form> 62</body> 63</html> 64

とブラウザ側で表示されます。

/* htmlの特殊文字をエスケープ */ のコメントアウト部分を、
// のコメントアウトに変更すると、ソースでなくちゃんとフォーム画面が表示されます。

/* ~ */ も、PHP内でのコメントアウトで使用できるはずと思っていたのですが、原因としてはどんなことが考えられるでしょうか。
ちなみにサーバはエックスサーバーの、XFREEのサーバを使用しています。

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

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

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

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

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

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

m.ts10806

2019/08/24 23:40

コードはマークダウンのcode機能を利用してご提示ください。 また、ファイル名も記載してください
mayu

2019/08/25 00:44

ありがとうございます。 修正してみました。 よろしくお願いします。
guest

回答3

0

PHPのソースに全角のセミコロンが混ざっています。
これを修正して表示してみてください。

投稿2019/08/25 02:08

sleepsheep

総合スコア310

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

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

mayu

2019/08/25 07:55

ありがとうございます。修正してみたのですが、PHPが動作していないみたいなので原因を探っております????
guest

0

コメントの記述には問題ありません。

提示されたコードが、使用しているものなのであれば、syntax error が別の箇所で発生しています。
php が動いていれば、ソースがそのまま表示されることも、// の使用でフォーム画面が表示されることもありません。

提示されたコードではないコードを使用しているか、サーバで php が動いていないか、いずれかです。多分、php が動いていないので、phpinfo を表示させるところから始めると良いです。

投稿2019/08/24 21:51

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

mayu

2019/08/25 08:18 編集

ありがとうございます。phpinfoのファイルをアップしてブラウザ上で見てみたら、PHP動作していないみたいでした????(そのまま<?php phpinfo(); ?>が表示される) XサーバではPHP使えるとあったので特に何も設定がいらないのかなとおもっていたのですが、調べてみます。 Xサーバで、利用を制限している関数に、phpinfoも入っているのですが、これは関係ないのでしょうか。 https://www.xfree.ne.jp/manual/man_server_php.php
guest

0

自己解決

大変申し訳ございません。
XFREEのサーバで、HTMLサーバにアップしていたので見れなかったようでした。。
PHP・MySQLのほうにアップしたらちゃんと表示されました。

イメージ説明

HTMLのサーバーは、プログラムファイルは動作しないのですね。。
htmlだけのサーバとかPHPファイルが使えるサーバとか、分かれていることに気づかず。。

ご回答くださった皆様、ありがとうございました。。

投稿2019/08/25 08:43

mayu

総合スコア14

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問