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

回答編集履歴

2

文を分かりやすく修正。PHPの解決策を追記

2017/05/31 07:43

投稿

s-washion
s-washion

スコア204

answer CHANGED
@@ -1,11 +1,19 @@
1
1
  確認ですが、質問に書かれたソースは、「enshu1-2.php」でしょうか?
2
2
  その場合、挙動は以下の順になるかと思います
3
3
 
4
- 0. 最初enshu1-2.phpを実行。$_POSTは空なので$sentは「enshu1-2.php」
4
+ 0. 最初enshu1-2.phpを実行。$_POSTは空なので$sentは「enshu1-2.php」
5
5
  0. 各フォームを入力して、submitを押す
6
- 0. $sentは「enshu1-2.php」なので、当然enshu1-2.phpが実行されます
6
+ 0. $sentは「enshu1-2.php」なので、当然enshu1-2.php再度実行され
7
- ただ、$_POSTに値が入っていますので、$sent「enshu3.php」になります
7
+ ただ、$_POSTに値が入っていので、$sent「enshu3.php」が設定される
8
- 0. 再度「enshu1-2.php」が表示されるで、各フォームを入力し、submitを押すと「enshu3.php」が実行されるはずです
8
+ 0. 再度表示された「enshu1-2.php」の各フォームを入力し、submitを押すと「enshu3.php」が実行される
9
9
 
10
+ つまり、「enshu1-2.php」→「enshu1-2.php」→「enshu3.php」となることが問題とされているのかと、推測いたします。
11
+
12
+ 入力値が正常ならば、「enshu1-2.php」→「enshu3.php」で、
13
+ 入力値が異常ならば、「enshu1-2.php」→「enshu1-2.php」としたいのであれば
14
+ $sentを変えるのではなく、入力値が正常の場合、「enshu3.php」にリダイレクトさせる必要があります
15
+ ($_POSTをリダイレクト先へ引き継ぐにはSessionやGETクエリーを使う等、工夫が必要です)
16
+
17
+
10
18
  もし、フォームが入力された時点で即action先を変えたいのであれば
11
19
  Javascriptなどを使ってクライアントサイドで行う必要があります。

1

不要な番号リストをやめました

2017/05/31 07:43

投稿

s-washion
s-washion

スコア204

answer CHANGED
@@ -4,8 +4,8 @@
4
4
  0. 最初のenshu1-2.phpを実行。$_POSTは空なので$sentは「enshu1-2.php」
5
5
  0. 各フォームを入力して、submitを押す
6
6
  0. $sentは「enshu1-2.php」なので、当然enshu1-2.phpが実行されます
7
- 0. ただ、$_POSTに値が入っていますので、$sentが「enshu3.php」になります
7
+ ただ、$_POSTに値が入っていますので、$sentが「enshu3.php」になります
8
- 0. 再度、各フォームを入力して、submitを押すと「enshu3.php」が実行されるはずです
8
+ 0. 再度、「enshu1-2.php」が表示されるので、各フォームを入力して、submitを押すと「enshu3.php」が実行されるはずです
9
9
 
10
10
  もし、フォームが入力された時点で即action先を変えたいのであれば
11
11
  Javascriptなどを使ってクライアントサイドで行う必要があります。