回答編集履歴
4
追記
answer
CHANGED
|
@@ -8,10 +8,12 @@
|
|
|
8
8
|
}
|
|
9
9
|
```
|
|
10
10
|
とすれば大丈夫でしょう。
|
|
11
|
+
ただし、JavaScriptのPOSTで値を送信してもこの部分は変わりません。従って必要のない部分とも言えます。
|
|
11
12
|
|
|
12
13
|
2番目の問題は、dataで受け取っているのが同じhtmlなので
|
|
13
14
|
```html
|
|
14
15
|
<p id="result"></p>
|
|
15
16
|
```
|
|
16
17
|
の部分に同じ内容がコピーされたように入ってしまうことです。
|
|
17
|
-
尚、同一html上に同じidがあるとJavaScriptが動かなくなってしまうので、2回目の送信以降は何も起こりません。
|
|
18
|
+
尚、同一html上に同じidがあるとJavaScriptが動かなくなってしまうので、2回目の送信以降は何も起こりません。
|
|
19
|
+
解決するにはフォームの送信先を別ファイルにして、そこでバリデーション等の処理を行った上で値を書き出し、それをtest.phpで受け取って任意の箇所に表示するというのが一般的でしょう。
|
3
修正
answer
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
おそらく提示されているコードがtest.phpだと思い、そこから考えられることを以下に記します。
|
|
2
|
-
まず、最初の画面でのエラーメッセージはPOST送信される前なので
|
|
2
|
+
まず、最初の画面でのエラーメッセージはPOST送信される前なのでインデックスが未定義なためだと思われます。
|
|
3
3
|
```php
|
|
4
4
|
if (isset($_POST['name'])
|
|
5
5
|
{
|
2
修正
answer
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
と
|
|
1
|
+
おそらく提示されているコードがtest.phpだと思い、そこから考えられることを以下に記します。
|
|
2
|
+
まず、最初の画面でのエラーメッセージはPOST送信される前なので値が未定義なためだと思われます。
|
|
2
|
-
```
|
|
3
|
+
```php
|
|
3
|
-
|
|
4
|
+
if (isset($_POST['name'])
|
|
5
|
+
{
|
|
6
|
+
// 本来はechoの前にここでバリデーションなどの処理が必要
|
|
7
|
+
echo $_POST['name'];
|
|
8
|
+
}
|
|
4
9
|
```
|
|
5
|
-
|
|
10
|
+
とすれば大丈夫でしょう。
|
|
11
|
+
|
|
12
|
+
2番目の問題は、dataで受け取っているのが同じhtmlなので
|
|
6
13
|
```html
|
|
7
|
-
<
|
|
14
|
+
<p id="result"></p>
|
|
8
15
|
```
|
|
9
|
-
|
|
16
|
+
の部分に同じ内容がコピーされたように入ってしまうことです。
|
|
17
|
+
尚、同一html上に同じidがあるとJavaScriptが動かなくなってしまうので、2回目の送信以降は何も起こりません。
|
1
修正
answer
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
```html
|
|
7
7
|
<input type="text" id="name" name="name" value="">
|
|
8
8
|
```
|
|
9
|
-
としないと
|
|
9
|
+
としないとインデックスが未定義になってしまいます。
|