質問編集履歴

7

2016/04/06 23:17

投稿

pecchan
pecchan

スコア555

test CHANGED
File without changes
test CHANGED
@@ -27,8 +27,6 @@
27
27
 
28
28
 
29
29
  コード自体の処理は単純で、アクセス度にカウントアップしてそれを表示されているだけです。
30
-
31
- これを「3回目のアクセス」が表示された後→戻るボタンクリック→「2回目のアクセス」を表示させたいのです。
32
30
 
33
31
 
34
32
 
@@ -148,9 +146,11 @@
148
146
 
149
147
 
150
148
 
149
+ これを「3回目のアクセス」が表示された後→戻るボタンクリック→「2回目のアクセス」を表示させたり
150
+
151
+ 以前の値を表示するにはどうすれば良いでしょうか?
151
152
 
152
153
 
153
- どこが悪いのでしょうか?
154
154
 
155
155
 
156
156
 

6

2016/04/06 23:17

投稿

pecchan
pecchan

スコア555

test CHANGED
@@ -1 +1 @@
1
- 【cakePHP】【PHP】【セッション】ブラウザ「戻る」で有効期限切れ
1
+ 【cakePHP】【PHP】【セッション】ブラウザ「戻る」で有効期限切れ
test CHANGED
File without changes

5

a

2016/04/06 23:16

投稿

pecchan
pecchan

スコア555

test CHANGED
@@ -1 +1 @@
1
- ブラウザで「戻る」で有効期限切れ
1
+ 【cakePHP】【PHP】【セッション】ブラウザで「戻る」で有効期限切れ
test CHANGED
File without changes

4

2016/04/06 23:15

投稿

pecchan
pecchan

スコア555

test CHANGED
File without changes
test CHANGED
@@ -5,6 +5,12 @@
5
5
  セッションを使っていますが、ブラウザの戻るボタンクリックで
6
6
 
7
7
  「ドキュメントが有効期限切れです」のエラーが出ます。
8
+
9
+
10
+
11
+ この問題はWeb開発では珍しくない問題のようで、header()を使った対処法が至る所で見つかりました。
12
+
13
+ クラスの先頭や、index()の先頭でheader()を行いましたが改善しませんでした。
8
14
 
9
15
 
10
16
 
@@ -20,11 +26,13 @@
20
26
 
21
27
 
22
28
 
23
- コードは単純アクセス度にカウントアップしてそれを表示されているだけです。
29
+ コード自体の処理は単純で、アクセス度にカウントアップしてそれを表示されているだけです。
24
30
 
25
- 途中でブラウザの戻るクリックするとエラーが出ます
31
+ これを「3回目アクセス」が表示された後→戻るボタンクリック→「2回目のアクセス」を表示させたいのです。
26
32
 
27
- エラーが出ずに、問題なく以前の値を表示させたいです。
33
+
34
+
35
+
28
36
 
29
37
 
30
38
 
@@ -38,27 +46,21 @@
38
46
 
39
47
 
40
48
 
41
-
42
-
43
- App::uses('AppController', 'Controller');
49
+ /*セッションテスト*/
44
-
45
-
46
50
 
47
51
  class TestsController extends AppController {
48
52
 
49
53
 
50
54
 
51
- /**
52
55
 
53
- * Components
54
-
55
- *
56
-
57
- * @var array
58
-
59
- */
60
56
 
61
57
  public $components = array('Session');
58
+
59
+
60
+
61
+
62
+
63
+ public function index() {
62
64
 
63
65
 
64
66
 
@@ -68,33 +70,9 @@
68
70
 
69
71
 
70
72
 
71
- /**
73
+ if($this->Session->check('count')){
72
74
 
73
- * index method
75
+
74
-
75
- *
76
-
77
- * @return void
78
-
79
- */
80
-
81
- public function index() {
82
-
83
-
84
-
85
-
86
-
87
- session_start();
88
-
89
- header('Expires:-1');
90
-
91
- header('Cache-Control:');
92
-
93
- header('Pragma:');
94
-
95
-
96
-
97
- if($this->Session->check('count')){
98
76
 
99
77
  $this->Session->write('count',$this->Session->read('count')+1);
100
78
 
@@ -102,7 +80,9 @@
102
80
 
103
81
 
104
82
 
83
+
84
+
105
- print_r($num."回目です");
85
+ $msg = $num."回目のアクセス";
106
86
 
107
87
 
108
88
 
@@ -110,9 +90,9 @@
110
90
 
111
91
  else{
112
92
 
113
- $this->Session->write('count', '0');
93
+ $this->Session->write('count', '1');
114
94
 
115
- print_r("初めてです");
95
+ $msg = "1回目のアクセス";
116
96
 
117
97
  }
118
98
 
@@ -120,7 +100,7 @@
120
100
 
121
101
 
122
102
 
123
-
103
+ $this->set('msg',$msg);
124
104
 
125
105
  }
126
106
 
@@ -132,35 +112,37 @@
132
112
 
133
113
 
134
114
 
115
+
116
+
135
117
  ```
136
118
 
137
119
 
138
120
 
139
121
  ```view
140
122
 
123
+
124
+
141
- <form action="/tests" controller="Tests" method="post" accept-charset="utf-8">
125
+ <?php echo $msg ;?>
142
126
 
143
127
 
144
128
 
145
129
 
146
130
 
147
- <input type="submit" name="aaa[]" value="1"><br>
131
+ <form action="/tests" controller="Tests" method="post" accept-charset="utf-8">
148
132
 
149
133
 
150
134
 
151
- <input type="submit" name="aaa[]" value="2"><br>
152
135
 
153
136
 
154
-
155
- <input type="submit" name="aaa[]" value="3"><br>
137
+ <input type="submit" name="btn" value="次へ">
156
-
157
-
158
138
 
159
139
 
160
140
 
161
141
 
162
142
 
163
143
  </form>
144
+
145
+
164
146
 
165
147
  ```
166
148
 

3

b

2016/04/06 23:13

投稿

pecchan
pecchan

スコア555

test CHANGED
File without changes
test CHANGED
@@ -136,6 +136,38 @@
136
136
 
137
137
 
138
138
 
139
+ ```view
140
+
141
+ <form action="/tests" controller="Tests" method="post" accept-charset="utf-8">
142
+
143
+
144
+
145
+
146
+
147
+ <input type="submit" name="aaa[]" value="1"><br>
148
+
149
+
150
+
151
+ <input type="submit" name="aaa[]" value="2"><br>
152
+
153
+
154
+
155
+ <input type="submit" name="aaa[]" value="3"><br>
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+ </form>
164
+
165
+ ```
166
+
167
+
168
+
169
+
170
+
139
171
  どこが悪いのでしょうか?
140
172
 
141
173
 

2

2016/04/06 11:17

投稿

pecchan
pecchan

スコア555

test CHANGED
File without changes
test CHANGED
@@ -37,14 +37,6 @@
37
37
  <?php
38
38
 
39
39
 
40
-
41
- session_start();
42
-
43
- header('Expires:-1');
44
-
45
- header('Cache-Control:');
46
-
47
- header('Pragma:');
48
40
 
49
41
 
50
42
 
@@ -91,6 +83,14 @@
91
83
 
92
84
 
93
85
 
86
+
87
+ session_start();
88
+
89
+ header('Expires:-1');
90
+
91
+ header('Cache-Control:');
92
+
93
+ header('Pragma:');
94
94
 
95
95
 
96
96
 

1

a

2016/04/06 07:49

投稿

pecchan
pecchan

スコア555

test CHANGED
File without changes
test CHANGED
@@ -11,6 +11,12 @@
11
11
  以下を参考にheader()を施しましたが、改善しません。
12
12
 
13
13
  [[PHP]「Webページの有効期限が切れています」と表示された時の対策](http://isket.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/php%E3%81%A7%E3%80%8Cweb%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%9C%89%E5%8A%B9%E6%9C%9F%E9%99%90%E3%81%8C%E5%88%87%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%8D%E3%81%A8%E8%A1%A8%E7%A4%BA/)
14
+
15
+
16
+
17
+ [session_start()→POST遷移→戻る→有効期限切れ を防ぐ](http://qiita.com/mgng/items/ae3c4c07f920a5e6e2ed)
18
+
19
+
14
20
 
15
21
 
16
22