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

回答編集履歴

1

sample

2017/02/21 02:31

投稿

yambejp
yambejp

スコア117900

answer CHANGED
@@ -1,3 +1,47 @@
1
1
  POSTを再送信する前提のページなのでしょうか?
2
2
  あえてやるならPOSTされたらセッションに押し込めて
3
- 完了ページに移動してしまうとかどうでしょうか?
3
+ 完了ページに移動してしまうとかどうでしょうか?
4
+
5
+ # sample
6
+ 補足見ましたがF5で再送信する意味がわかりません。
7
+ F5を押す人がいるのは別に否定しませんが、
8
+ ブラウザが再送信を拒否しているのが仕様やバグなら
9
+ どうしようもないと思いますが・・・
10
+
11
+ とりあえず、sampleだけ
12
+ - x.php
13
+ ```PHP
14
+ <form method="post" action="y.php">
15
+ <input type="text" name="a" value="hoge">
16
+ <input type="submit" value="post">
17
+ </form>
18
+ <form method="get" action="y.php">
19
+ <input type="text" name="a" value="fuga">
20
+ <input type="submit" value="get">
21
+ </form>
22
+
23
+ ```
24
+
25
+ - y.php
26
+ ```PHP
27
+ <?PHP
28
+ session_start();
29
+ if(isset($_POST["a"])){
30
+ $_SESSION["a"]=$_POST["a"];
31
+ header("Location:z.php");
32
+ exit;
33
+ }
34
+ header("Location:x.php");
35
+ exit;
36
+ ?>
37
+ ```
38
+
39
+ - z.php
40
+ ```PHP
41
+ <?PHP
42
+ session_start();
43
+ print $_SESSION["a"];
44
+ ?>
45
+ ```
46
+
47
+ あとはz.php上で好きなだけF5を押せばいいと思います