回答編集履歴
4
バグ修正
answer
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
$errormsgが空ならエラーが無かったということなので、
|
23
23
|
|
24
24
|
```
|
25
|
-
if(count($errormsg)){
|
25
|
+
if(count($errormsg) === 0){
|
26
26
|
header('location: send.php');
|
27
27
|
exit();
|
28
28
|
}
|
@@ -57,7 +57,7 @@
|
|
57
57
|
sessionが利用できるようになっていますので、$_SESSIONに値をセットします。
|
58
58
|
|
59
59
|
```
|
60
|
-
if(count($errormsg)){
|
60
|
+
if(count($errormsg) === 0){
|
61
61
|
$_SESSION["posted"] = array(
|
62
62
|
"name" => $name,
|
63
63
|
"phone" => $phone,
|
3
補足
answer
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
|
40
40
|
といったように、初回表示時に未定義変数へのアクセスを抑止する必要があります。
|
41
41
|
|
42
|
-
こうすると、入力値にエラーがあった場合にそのまま入力された値を元のフォームの入力欄に表示でき、またコードも少なくて済みます。
|
42
|
+
こうすると、入力値にエラーがあった場合にエラーを表示させ、そのまま入力された値を元のフォームの入力欄に表示でき、またコードも少なくて済みます。
|
43
43
|
|
44
44
|
ところが、リダイレクト先ではPOSTされた情報はわからなくなってしまいますね。
|
45
45
|
GETパラメターで渡す方法もありますが、これは経由するサーバーに情報が残ってしまうのであまりよろしくありません。
|
2
コードくくり修正
answer
CHANGED
@@ -32,9 +32,11 @@
|
|
32
32
|
|
33
33
|
つまり、お問い合わせ入力画面(form)→確認画面(check)を一つの画面でまかなうわけです。
|
34
34
|
この場合、
|
35
|
+
|
35
36
|
```
|
36
37
|
<input name="name" value="<?php if(isset($name)){ echo $name; } ?>" >
|
37
|
-
``
|
38
|
+
```
|
39
|
+
|
38
40
|
といったように、初回表示時に未定義変数へのアクセスを抑止する必要があります。
|
39
41
|
|
40
42
|
こうすると、入力値にエラーがあった場合にそのまま入力された値を元のフォームの入力欄に表示でき、またコードも少なくて済みます。
|
@@ -73,9 +75,11 @@
|
|
73
75
|
<?php
|
74
76
|
session_start();
|
75
77
|
|
76
|
-
echo $_SESSION["posted"]["name"]
|
78
|
+
echo $_SESSION["posted"]["name"];
|
77
|
-
print_r($_SESSION["posted"];
|
79
|
+
print_r($_SESSION["posted"]);
|
80
|
+
|
78
81
|
```
|
79
82
|
|
83
|
+
|
80
84
|
ご記載頂いたコードのおかしい点やセキュリティなどを考慮するといろいろありますが、
|
81
85
|
考え方としてはこんな感じで良いのではないでしょうか。
|
1
補足
answer
CHANGED
@@ -31,6 +31,11 @@
|
|
31
31
|
といった感じでリダイレクトできます。
|
32
32
|
|
33
33
|
つまり、お問い合わせ入力画面(form)→確認画面(check)を一つの画面でまかなうわけです。
|
34
|
+
この場合、
|
35
|
+
```
|
36
|
+
<input name="name" value="<?php if(isset($name)){ echo $name; } ?>" >
|
37
|
+
``
|
38
|
+
といったように、初回表示時に未定義変数へのアクセスを抑止する必要があります。
|
34
39
|
|
35
40
|
こうすると、入力値にエラーがあった場合にそのまま入力された値を元のフォームの入力欄に表示でき、またコードも少なくて済みます。
|
36
41
|
|