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

質問編集履歴

6

コードを追記

2018/11/08 00:49

投稿

valval
valval

スコア43

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
- require "random.php";//乱数を作る手製ライブラリ
46
+
44
47
  $pass=generate_password(10);//10文字の乱数を作る
45
48
 
46
49
  //ここで$passをデータベースにpassword_hashを通して保存

5

誤字を修正

2018/11/08 00:49

投稿

valval
valval

スコア43

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="passwoerd" name="NewmailKey" size="60" maxlength="255">
53
+ <input type="password" name="NewmailKey" size="60" maxlength="255">
54
54
  <input type="submit" value="メールアドレスを変更">
55
55
  </form>
56
56
 

4

プログラム全体の目的とコードを追記

2018/11/07 23:01

投稿

valval
valval

スコア43

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ページ目(2ページ目と類似)
59
+ 3ページ目
31
60
  ```php
32
61
  session_start();
33
62
  session_regenerate_id(true);

3

表題を訂正

2018/11/07 23:00

投稿

valval
valval

スコア43

title CHANGED
@@ -1,1 +1,1 @@
1
- phpで_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
1
+ phpで$_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
body CHANGED
File without changes

2

表題を訂正

2018/11/07 14:37

投稿

valval
valval

スコア43

title CHANGED
@@ -1,1 +1,1 @@
1
- で_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
1
+ phpで_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
body CHANGED
File without changes

1

発生している問題を整理

2018/11/07 14:36

投稿

valval
valval

スコア43

title CHANGED
@@ -1,1 +1,1 @@
1
- $_SESSION配列に文字列を格納後、次の次の遷移で$_SESSIONが消える
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ページ目