質問編集履歴
6
コードを追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -37,10 +37,13 @@
|
|
37
37
|
```php
|
38
38
|
<?php
|
39
39
|
session_start();
|
40
|
+
require "random.php";//乱数を作る手製ライブラリ
|
41
|
+
$sessionname=generate_password(32);
|
42
|
+
session_name($sessionname);
|
40
43
|
session_regenerate_id(true);
|
41
44
|
var_dump($_SESSION);//この時点ではセッション情報が残っている
|
42
45
|
|
43
|
-
|
46
|
+
|
44
47
|
$pass=generate_password(10);//10文字の乱数を作る
|
45
48
|
|
46
49
|
//ここで$passをデータベースにpassword_hashを通して保存
|
5
誤字を修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
?>
|
51
51
|
<p>キーを入力</p>
|
52
52
|
<form action="3ページ目のURL" method="post">
|
53
|
-
<input type="
|
53
|
+
<input type="password" name="NewmailKey" size="60" maxlength="255">
|
54
54
|
<input type="submit" value="メールアドレスを変更">
|
55
55
|
</form>
|
56
56
|
|
4
プログラム全体の目的とコードを追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,6 +4,10 @@
|
|
4
4
|
|
5
5
|
$_SESSION情報の維持
|
6
6
|
|
7
|
+
プログラム全体の目的は、ユーザーが既に登録したメールアドレスを変更するとき、
|
8
|
+
新しいメールアドレスに、ランダムな文字列を送り、これをフォームに入力させて
|
9
|
+
新しいメールアドレスが、確かに本人の物であると確認する、というものです。
|
10
|
+
|
7
11
|
### 発生している問題・エラーメッセージ
|
8
12
|
|
9
13
|
ログイン直後、1ページ目にログインした旨を示す文字列を
|
@@ -14,20 +18,45 @@
|
|
14
18
|
### 該当のソースコード
|
15
19
|
1ページ目
|
16
20
|
```php
|
21
|
+
<?php
|
17
22
|
session_start();
|
18
23
|
session_regenerate_id(true);
|
19
24
|
//ログイン手続きは長いので省略
|
20
25
|
$_SESSION['login']="login";
|
26
|
+
?>
|
27
|
+
<p>変更後のメールアドレス:</p>
|
28
|
+
<form action="2ページ目のURL" method="post">
|
29
|
+
<input type="email" name="Newmail" size="60" maxlength="255">
|
30
|
+
<input type="submit" value="メールアドレスを変更">
|
31
|
+
</form>
|
32
|
+
|
33
|
+
|
21
34
|
```
|
22
35
|
|
23
36
|
2ページ目
|
24
37
|
```php
|
38
|
+
<?php
|
25
39
|
session_start();
|
26
40
|
session_regenerate_id(true);
|
27
41
|
var_dump($_SESSION);//この時点ではセッション情報が残っている
|
42
|
+
|
43
|
+
require "random.php";//乱数を作る手製ライブラリ
|
44
|
+
$pass=generate_password(10);//10文字の乱数を作る
|
45
|
+
|
46
|
+
//ここで$passをデータベースにpassword_hashを通して保存
|
47
|
+
|
48
|
+
mb_send_mail($_POST['Newmail'],"メール変更キー送付 ご利用をありがとうございます。",$pass);//キーをメールで送付
|
49
|
+
|
50
|
+
?>
|
51
|
+
<p>キーを入力</p>
|
52
|
+
<form action="3ページ目のURL" method="post">
|
53
|
+
<input type="passwoerd" name="NewmailKey" size="60" maxlength="255">
|
54
|
+
<input type="submit" value="メールアドレスを変更">
|
55
|
+
</form>
|
56
|
+
|
28
57
|
```
|
29
58
|
|
30
|
-
3ページ目
|
59
|
+
3ページ目
|
31
60
|
```php
|
32
61
|
session_start();
|
33
62
|
session_regenerate_id(true);
|
3
表題を訂正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
phpで_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
|
1
|
+
phpで$_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
|
body
CHANGED
File without changes
|
2
表題を訂正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
で_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
|
1
|
+
phpで_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
|
body
CHANGED
File without changes
|
1
発生している問題を整理
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
で_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
|
body
CHANGED
@@ -7,9 +7,9 @@
|
|
7
7
|
### 発生している問題・エラーメッセージ
|
8
8
|
|
9
9
|
ログイン直後、1ページ目にログインした旨を示す文字列を
|
10
|
-
$_SESSION['login']に格納し
|
10
|
+
$_SESSION['login']に格納しました。このページからの
|
11
|
-
$_SESSION['login']に残っていますが、
|
11
|
+
遷移ではこの文字列が$_SESSION['login']に残っていますが、
|
12
|
-
$_SESSIONが空になっています。
|
12
|
+
その次の遷移後に$_SESSIONが空になっています。
|
13
13
|
|
14
14
|
### 該当のソースコード
|
15
15
|
1ページ目
|