質問編集履歴

1

情報の追記

2016/07/11 13:12

投稿

smnsmn
smnsmn

スコア175

test CHANGED
File without changes
test CHANGED
@@ -37,3 +37,101 @@
37
37
  JavaScriptに慣れておらず、書き方のヒント・もしくは他の方法があればご教授お願い致します。
38
38
 
39
39
  何卒、よろしくお願い致します。
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+ ###追記
48
+
49
+ 補足願います。『あるクライアントについて、index.phpで当該スクリプトが一度でも実行された後に、hoge.phpを開いたかどうか」を判断したい、と読みましたが、それでいいですか? クライアントを横断したり、あるいはすでに開いているhoge.phpページ上でリアルタイムに反映する、などの動作が必要なわけではないですよね?
50
+
51
+
52
+
53
+ >あるクライアントについて、index.phpで当該スクリプトが一度でも実行された後に、hoge.phpを開いたかどうか」を判断したい
54
+
55
+ はい、その通りです。
56
+
57
+ index.phpにて、該当のJavaScriptが一度でも実行された後、
58
+
59
+ hoge.phpを開いたがどうか。(リンクでの移動・URLを直で叩くどちらにしても)を確認したいです。
60
+
61
+
62
+
63
+
64
+
65
+ >すでに開いているhoge.phpページ上でリアルタイムに反映する、などの動作が必要なわけではないですよね?
66
+
67
+ はい、必要ありません。
68
+
69
+
70
+
71
+
72
+
73
+ もう少し動きを補足しますと、
74
+
75
+ index.php→hoge.php→goal.phpという流れになります。
76
+
77
+ index.phpをロードした瞬間に、JavaScriptが実行され、hoge.phpで認証、その後認証に必要なセッション変数は削除。
78
+
79
+ hoge.phpに直接アクセスした場合には、エラーを返すようにしたいのです。
80
+
81
+
82
+
83
+ 詳しく書くと、
84
+
85
+ ①index.phpでセッションを開始し、
86
+
87
+ ```$_SESSION['start'] = 'start';```
88
+
89
+ のような変数を代入します。
90
+
91
+
92
+
93
+ ②ページのロードと同時に実行される、index.phpに記述したJavaScript内でhoge.phpにアクセス
94
+
95
+ (どうしてもJavaScriptを通じないといけません)
96
+
97
+
98
+
99
+ ③JavaScriptからアクセスしたhoge.phpで$_SESSION['start']の有無を確認
100
+
101
+ あれば、goal.phpにリダイレクト。
102
+
103
+ unset($_SESSION['start'])で削除
104
+
105
+
106
+
107
+ ④hoge.phpにアクセスした後、next.phpにリンクやURL直叩きでアクセスしても、
108
+
109
+ セッション変数```$_SESSION['start'] = 'start';```が無いのでエラーが返る。
110
+
111
+ index.phpを通っていない場合ももちろんエラーになる。
112
+
113
+
114
+
115
+ としているのですが、
116
+
117
+ 少し手を加えてindex.phpにアクセスすると、
118
+
119
+ ①でPHPの処理は実行されるが、JavaScriptは実行されないため、
120
+
121
+ index.phpにアクセスした瞬間に、```$_SESSION['start'] = 'start';```が代入されるのですが、
122
+
123
+ ②、③の認証ができず、次にhoge.phpにアクセスすると、goal.phpにリダイレクトされてしまうのです。
124
+
125
+
126
+
127
+
128
+
129
+ そのため、ページをロードした際に、index.phpのJavaScriptが実行されたかどうかを、
130
+
131
+ 何か値などで残し、hoge.phpで判定できればと思っています。
132
+
133
+
134
+
135
+ 長くなり、分かりにくく申し訳ありません。
136
+
137
+ お力添え頂けますと大変助かります。よろしくお願いします。