teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

コードをマークダウン表記、ファイル名追記

2019/08/25 00:44

投稿

mayu
mayu

スコア14

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,9 @@
1
1
  phpファイルでコメントアウト(/* */)すると、ブラウザで見た際にソースが表示されてしまう。
2
2
 
3
3
  phpで問い合わせフォームを作る練習をしているのですが、下記のソースをサーバにアップしてブラウザで表示したところ、ソースがそのまま表示されてしまいます。
4
+ ファイル名は、contact.phpとしています。
4
5
 
5
- -----------------
6
+ ```html
6
7
  <?php
7
8
  if($_SERVER['REQUEST_METHOD']==='POST'){
8
9
 
@@ -66,11 +67,80 @@
66
67
  </form>
67
68
  </body>
68
69
  </html>
70
+ ```
69
71
 
70
- -----------------
72
+ をアップすると、
71
73
 
74
+ ```php
75
+ <?php
76
+ if($_SERVER['REQUEST_METHOD']==='POST'){
77
+
78
+ //繝舌Μ繝��繧キ繝ァ繝ウ
79
+ $inquiry = $_POST['inquiry'];
80
+ $name = $_POST['name'];
81
+ $email = $_POST['email'];
82
+ $error = array();
83
+
84
+ if (empty($inquiry)){
85
+ $error['inquiry']='蠢�★縺碑ィ伜�縺上□縺輔>'��
86
+ }
87
+
88
+ if (empty($name)){
89
+ $error['name']='蠢�★縺碑ィ伜�縺上□縺輔>'��
90
+ }
91
+
92
+ if (!filter_var($email, FILTER_VALIDATE_EMAIL)){
93
+ $error['email']='繝。繝シ繝ォ繧「繝峨Ξ繧ケ縺ョ蠖「蠑上′豁」縺励¥縺ゅj縺セ縺帙s縲�'��
94
+ }
95
+
96
+ if (empty($error)){
97
+ header('Location:thanks.php');
98
+ exit;
99
+ }
100
+ }
101
+
102
+ /* html縺ョ迚ケ谿頑枚蟄励r繧ィ繧ケ繧ア繝シ繝� */
103
+ function h($str){
104
+ return htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
105
+ }
106
+
107
+ ?>
108
+
109
+
110
+ <!DOCTYPE html>
111
+ <html lang="ja">
112
+ <head>
113
+ <meta charset="UTF-8">
114
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
115
+ <meta http-equiv="X-UA-Compatible" content="ie=edge">
116
+ <title>FORM PHP</title>
117
+ </head>
118
+ <body>
119
+ <h1>蝠上>蜷医o縺帙ヵ繧ゥ繝シ繝�</h1>
120
+ <form action="" method="post">
121
+ <p>笆�縺雁錐蜑阪€€窶サ蠢���</p>
122
+ <?php if(isset($error['name'])) echo h($error['name']); ?>
123
+ <input type="text" name="name" id="" value="">
124
+
125
+ <p>笆�E-mail縲€窶サ蠢���</p>
126
+ <?php if(isset($error['email'])) echo h($error['email']); ?>
127
+ <input type="email" name="email" id="" value="">
128
+
129
+ <p>笆�蝠上>蜷医o縺帛�螳ケ縲€窶サ蠢���</p>
130
+ <?php if(isset($error['inquiry'])) echo h($error['inquiry']); ?>
131
+ <textarea name="inquiry" id="" cols="100" rows="10"></textarea>
132
+
133
+ <button type="submit">騾∽ソ。</button>
134
+
135
+ </form>
136
+ </body>
137
+ </html>
138
+
139
+ ```
140
+ とブラウザ側で表示されます。
141
+
72
142
  /* htmlの特殊文字をエスケープ */ のコメントアウト部分を、
73
- // のコメントアウトに変更すると、フォーム画面が表示されます。
143
+ **// のコメントアウトに変更すると、ソースでなくちゃんとフォーム画面が表示されます。**
74
144
 
75
145
  /* ~ */ も、PHP内でのコメントアウトで使用できるはずと思っていたのですが、原因としてはどんなことが考えられるでしょうか。
76
146
  ちなみにサーバはエックスサーバーの、XFREEのサーバを使用しています。