回答編集履歴
1
追記
answer
CHANGED
|
@@ -55,4 +55,111 @@
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
```
|
|
58
|
-
最初に指摘した部分が`if (isset($_POST ["register"])) {}`の外にあるため、エラーがあっても表示できません。
|
|
58
|
+
最初に指摘した部分が`if (isset($_POST ["register"])) {}`の外にあるため、エラーがあっても表示できません。
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
追記
|
|
62
|
+
他の方が指摘されていたように、エラーメッセージの表示場所に問題があるので、その点も踏まえて次のようにするとどうでしょうか。
|
|
63
|
+
```PHP
|
|
64
|
+
<?
|
|
65
|
+
//送信ボタンが押されたら//
|
|
66
|
+
$error_message = array (); //<--ここ$error_messageを定義
|
|
67
|
+
if (isset($_POST ["register"])) {
|
|
68
|
+
//エラーメッセージを格納する配列を作成
|
|
69
|
+
if ($_POST ["onamae"]!=="") {
|
|
70
|
+
//データがセットされていたら各変数にPOSTのデータを格納
|
|
71
|
+
$onamae = htmlspecialchars($_POST["onamae"],ENT_QUOTES);
|
|
72
|
+
//各データがなかったらエラーメッセージを配列に格納
|
|
73
|
+
}else{
|
|
74
|
+
$error_message[] = "お名前を入力して下さい。<br>";
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if ($_POST["mailadress"]!=="") {
|
|
78
|
+
$mailadress = htmlspecialchars($_POST["mailadress"],ENT_QUOTES);
|
|
79
|
+
}else{
|
|
80
|
+
$error_message[] = "メールアドレスを入力してください。<br>";
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if ($_POST["category"]!=="") {
|
|
84
|
+
$mailadress = htmlspecialchars($_POST["category"],ENT_QUOTES);
|
|
85
|
+
}else{
|
|
86
|
+
$error_message[] = "お問い合わせの種類を選択してください。<br>";
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if ($_POST["interest[]"]!=="") {
|
|
90
|
+
$mailadress = htmlspecialchars($_POST["interest"],ENT_QUOTES);
|
|
91
|
+
}else{
|
|
92
|
+
$error_message[] = "興味のある分野を1つ以上選択してください。<br>";
|
|
93
|
+
}
|
|
94
|
+
if ($_POST["body"]!=="") {
|
|
95
|
+
$mailadress = htmlspecialchars($_POST["body"],ENT_QUOTES);
|
|
96
|
+
}else{
|
|
97
|
+
$error_message[] = "メッセージを入力してください。<br>";
|
|
98
|
+
}
|
|
99
|
+
//エラーが無い時
|
|
100
|
+
if (!count($error_message)){
|
|
101
|
+
//確認ページヘ
|
|
102
|
+
header("Location:confirm.php");
|
|
103
|
+
exit;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
?>
|
|
107
|
+
<!DOCTYPE HTML>
|
|
108
|
+
<html>
|
|
109
|
+
<head>
|
|
110
|
+
<title>お問い合わせフォーム</title>
|
|
111
|
+
<meta charset="utf-8">
|
|
112
|
+
</head>
|
|
113
|
+
<body>
|
|
114
|
+
<?php
|
|
115
|
+
//ここに記述することでhtml内で表示させる
|
|
116
|
+
if (count($error_message)) {
|
|
117
|
+
foreach ($error_message as $message){
|
|
118
|
+
print ($message);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
?>
|
|
122
|
+
<form name="form1" method="post"action="confirm.php" >
|
|
123
|
+
|
|
124
|
+
<H1>お問い合わせフォーム</H1>
|
|
125
|
+
・お名前<br>
|
|
126
|
+
<input type="text" name="onamae" >
|
|
127
|
+
<br>
|
|
128
|
+
|
|
129
|
+
・メールアドレス<br>
|
|
130
|
+
<input type="text" name="mailadress">
|
|
131
|
+
<br>
|
|
132
|
+
|
|
133
|
+
・お問い合わせの種類<br>
|
|
134
|
+
<select name="category" >
|
|
135
|
+
<option value=""selected>選んで下さい</option>
|
|
136
|
+
<option value="質問">質問</option>
|
|
137
|
+
<option value="要望">要望</option>
|
|
138
|
+
<option value="その他お問い合わせ">その他お問い合わせ</option>
|
|
139
|
+
</select>
|
|
140
|
+
<br>
|
|
141
|
+
|
|
142
|
+
・興味のある分野<br>
|
|
143
|
+
<input type="checkbox" name="interest[]" value="HTML">
|
|
144
|
+
HTML<br>
|
|
145
|
+
<input type="checkbox" name="interest[]" value="PHP">
|
|
146
|
+
PHP<br>
|
|
147
|
+
<input type="checkbox" name="interest[]" value="MySQL">
|
|
148
|
+
MySQL<br>
|
|
149
|
+
<input type="checkbox" name="interest[]" value="Linux">
|
|
150
|
+
Linux<br>
|
|
151
|
+
<input type="checkbox" name="interest[]" value="マネジメント">
|
|
152
|
+
マネジメント<br>
|
|
153
|
+
<input type="checkbox" name="interest[]" value="その他">
|
|
154
|
+
その他<br>
|
|
155
|
+
|
|
156
|
+
・メッセージ<br>
|
|
157
|
+
<textarea name="body" cols="30" rows="5"></textarea>
|
|
158
|
+
<br>
|
|
159
|
+
|
|
160
|
+
<input type="submit" name="register value="送信">
|
|
161
|
+
|
|
162
|
+
</form>
|
|
163
|
+
</body>
|
|
164
|
+
</html>
|
|
165
|
+
```
|