質問編集履歴
1
コードをマークダウン表記、ファイル名追記
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のサーバを使用しています。
|