質問編集履歴
6
コードを追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -76,13 +76,19 @@
|
|
76
76
|
|
77
77
|
session_start();
|
78
78
|
|
79
|
+
require "random.php";//乱数を作る手製ライブラリ
|
80
|
+
|
81
|
+
$sessionname=generate_password(32);
|
82
|
+
|
83
|
+
session_name($sessionname);
|
84
|
+
|
79
85
|
session_regenerate_id(true);
|
80
86
|
|
81
87
|
var_dump($_SESSION);//この時点ではセッション情報が残っている
|
82
88
|
|
83
89
|
|
84
90
|
|
85
|
-
|
91
|
+
|
86
92
|
|
87
93
|
$pass=generate_password(10);//10文字の乱数を作る
|
88
94
|
|
5
誤字を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -102,7 +102,7 @@
|
|
102
102
|
|
103
103
|
<form action="3ページ目のURL" method="post">
|
104
104
|
|
105
|
-
<input type="passwo
|
105
|
+
<input type="password" name="NewmailKey" size="60" maxlength="255">
|
106
106
|
|
107
107
|
<input type="submit" value="メールアドレスを変更">
|
108
108
|
|
4
プログラム全体の目的とコードを追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,6 +7,14 @@
|
|
7
7
|
|
8
8
|
|
9
9
|
$_SESSION情報の維持
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
プログラム全体の目的は、ユーザーが既に登録したメールアドレスを変更するとき、
|
14
|
+
|
15
|
+
新しいメールアドレスに、ランダムな文字列を送り、これをフォームに入力させて
|
16
|
+
|
17
|
+
新しいメールアドレスが、確かに本人の物であると確認する、というものです。
|
10
18
|
|
11
19
|
|
12
20
|
|
@@ -30,6 +38,8 @@
|
|
30
38
|
|
31
39
|
```php
|
32
40
|
|
41
|
+
<?php
|
42
|
+
|
33
43
|
session_start();
|
34
44
|
|
35
45
|
session_regenerate_id(true);
|
@@ -37,6 +47,22 @@
|
|
37
47
|
//ログイン手続きは長いので省略
|
38
48
|
|
39
49
|
$_SESSION['login']="login";
|
50
|
+
|
51
|
+
?>
|
52
|
+
|
53
|
+
<p>変更後のメールアドレス:</p>
|
54
|
+
|
55
|
+
<form action="2ページ目のURL" method="post">
|
56
|
+
|
57
|
+
<input type="email" name="Newmail" size="60" maxlength="255">
|
58
|
+
|
59
|
+
<input type="submit" value="メールアドレスを変更">
|
60
|
+
|
61
|
+
</form>
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
|
40
66
|
|
41
67
|
```
|
42
68
|
|
@@ -46,17 +72,49 @@
|
|
46
72
|
|
47
73
|
```php
|
48
74
|
|
75
|
+
<?php
|
76
|
+
|
49
77
|
session_start();
|
50
78
|
|
51
79
|
session_regenerate_id(true);
|
52
80
|
|
53
81
|
var_dump($_SESSION);//この時点ではセッション情報が残っている
|
54
82
|
|
83
|
+
|
84
|
+
|
85
|
+
require "random.php";//乱数を作る手製ライブラリ
|
86
|
+
|
87
|
+
$pass=generate_password(10);//10文字の乱数を作る
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
//ここで$passをデータベースにpassword_hashを通して保存
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
mb_send_mail($_POST['Newmail'],"メール変更キー送付 ご利用をありがとうございます。",$pass);//キーをメールで送付
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
?>
|
100
|
+
|
101
|
+
<p>キーを入力</p>
|
102
|
+
|
103
|
+
<form action="3ページ目のURL" method="post">
|
104
|
+
|
105
|
+
<input type="passwoerd" name="NewmailKey" size="60" maxlength="255">
|
106
|
+
|
107
|
+
<input type="submit" value="メールアドレスを変更">
|
108
|
+
|
109
|
+
</form>
|
110
|
+
|
111
|
+
|
112
|
+
|
55
113
|
```
|
56
114
|
|
57
115
|
|
58
116
|
|
59
|
-
3ページ目
|
117
|
+
3ページ目
|
60
118
|
|
61
119
|
```php
|
62
120
|
|
3
表題を訂正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
phpで_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
|
1
|
+
phpで$_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
|
test
CHANGED
File without changes
|
2
表題を訂正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
で_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
|
1
|
+
phpで_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
|
test
CHANGED
File without changes
|
1
発生している問題を整理
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
で_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
|
test
CHANGED
@@ -16,11 +16,11 @@
|
|
16
16
|
|
17
17
|
ログイン直後、1ページ目にログインした旨を示す文字列を
|
18
18
|
|
19
|
-
$_SESSION['login']に格納し
|
19
|
+
$_SESSION['login']に格納しました。このページからの
|
20
20
|
|
21
|
-
$_SESSION['login']に残っていますが、
|
21
|
+
遷移ではこの文字列が$_SESSION['login']に残っていますが、
|
22
22
|
|
23
|
-
$_SESSIONが空になっています。
|
23
|
+
その次の遷移後に$_SESSIONが空になっています。
|
24
24
|
|
25
25
|
|
26
26
|
|