質問編集履歴

4

ソース修正

2019/05/08 14:08

投稿

512
512

スコア18

test CHANGED
File without changes
test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
  //DBからログインデータを検索
70
70
 
71
- if (($data = get_user_id($link)) === NULL) {
71
+ if (($data = get_user_id($link)) === NULL) { //DBからログインデータを検索する関数
72
72
 
73
73
  $err_msg[] = 'ユーザーID取得失敗';
74
74
 

3

ソース修正

2019/05/08 14:08

投稿

512
512

スコア18

test CHANGED
File without changes
test CHANGED
@@ -32,13 +32,17 @@
32
32
 
33
33
  session_start();
34
34
 
35
+ //リクエストメソッドの値を確認
36
+
37
+ var_dump(get_request_method()); //$_SERVER['REQUEST_METHOD']を関数化しています
38
+
35
39
  //リクエストメソッドを取得
36
40
 
37
41
  if (get_request_method() === 'POST') {
38
42
 
39
43
  //ポストされたデータを取得
40
44
 
41
- $user_id = get_post_data('user_id');
45
+ $user_id = get_post_data('user_id'); //POST値を格納する関数です
42
46
 
43
47
  $psword = get_post_data('psword');
44
48
 

2

ソース修正

2019/05/08 13:59

投稿

512
512

スコア18

test CHANGED
File without changes
test CHANGED
@@ -64,7 +64,7 @@
64
64
 
65
65
  //DBからログインデータを検索
66
66
 
67
- if (($data = get_user_id($link)) === '') {
67
+ if (($data = get_user_id($link)) === NULL) {
68
68
 
69
69
  $err_msg[] = 'ユーザーID取得失敗';
70
70
 

1

コードソースを追加しました

2019/05/08 13:17

投稿

512
512

スコア18

test CHANGED
File without changes
test CHANGED
@@ -10,17 +10,179 @@
10
10
 
11
11
  ### コード
12
12
 
13
- ```html
13
+ ・コントローラーファイル
14
14
 
15
- <form class="form" method="post" action="./login.php">
15
+ ```php
16
16
 
17
-  <input type="text" name="user_id" placeholder="ユーザーID">
17
+ <?php
18
18
 
19
-  <input type="password" name="psword" placeholder="パスワード">
19
+ /*
20
20
 
21
-  <button class="login-btn">ログイン</button>
21
+ * ログインページ
22
22
 
23
+ */
24
+
25
+ require_once './include/const/const.php';
26
+
27
+ require_once './include/model/function.php';
28
+
29
+ $err_msg = array(); //エラーメッセージ
30
+
31
+ // セッション開始
32
+
33
+ session_start();
34
+
35
+ //リクエストメソッドを取得
36
+
37
+ if (get_request_method() === 'POST') {
38
+
39
+ //ポストされたデータを取得
40
+
41
+ $user_id = get_post_data('user_id');
42
+
43
+ $psword = get_post_data('psword');
44
+
45
+ // エラーメッセージ
46
+
47
+ if (trim($user_id) === '') {
48
+
49
+ $err_msg[] = 'ユーザー名を入力してください';
50
+
51
+ }
52
+
53
+ if (trim($psword) === '') {
54
+
55
+ $err_msg[] = 'パスワードを入力してください';
56
+
57
+ }
58
+
59
+ if (count($err_msg) === 0) {
60
+
61
+ //DB接続
62
+
63
+ $link = get_db_connect();
64
+
65
+ //DBからログインデータを検索
66
+
67
+ if (($data = get_user_id($link)) === '') {
68
+
69
+ $err_msg[] = 'ユーザーID取得失敗';
70
+
71
+ }
72
+
73
+ //DB接続解除
74
+
75
+ close_db_connect($link);
76
+
77
+ // 登録データを取得できたか確認
78
+
79
+ if (isset($data[0]['user_id']) === TRUE) {
80
+
81
+ // セッション変数にuser_idを保存
82
+
83
+ $_SESSION['user_id'] = $data[0]['user_id'];
84
+
85
+ $_SESSION['user_name'] = $data[0]['user_name'];
86
+
87
+ // ログイン済みユーザーのホームページへリダイレクト
88
+
89
+ header('Location: index.php');
90
+
91
+ exit;
92
+
93
+ } else {
94
+
95
+ // ログイン失敗
96
+
97
+ $err_msg[] = 'ユーザーID、もしくはパスワードが違います。';
98
+
99
+ // ログインページへリダイレクト
100
+
101
+ header('Location: login.php');
102
+
103
+ exit;
104
+
105
+ }
106
+
107
+ }
108
+
109
+ }
110
+
111
+ include_once './include/view/login.php';
112
+
113
+ ?>
114
+
115
+ ```
116
+
117
+ ・viewファイル
118
+
119
+ ```PHP
120
+
121
+ <!DOCTYPE HTML>
122
+
123
+ <html lang="ja">
124
+
125
+ <head>
126
+
127
+ <title>タイトル</title>
128
+
129
+ <meta charset="UTF-8">
130
+
131
+ <link rel="stylesheet" href="./page.css">
132
+
133
+ </head>
134
+
135
+ <body>
136
+
137
+ <header>
138
+
139
+ <div class="header-box">
140
+
141
+ <a href="./top.php" class="logo">タイトル</p>
142
+
143
+ <a href="./login.php" class="menu menu-btn">ログイン</a>
144
+
145
+ </div>
146
+
147
+ </header>
148
+
149
+ <main>
150
+
151
+ <div class="container">
152
+
153
+ <h1>ログイン</h1>
154
+
155
+ <?php foreach ($err_msg as $value) { ?>
156
+
157
+ <p class="err-msg"><?php echo $value; ?></p>
158
+
159
+ <?php } ?>
160
+
161
+ <form class="form" method="post">
162
+
163
+ <input type="text" name="user_id" placeholder="ユーザーID">
164
+
165
+ <input type="password" name="psword" placeholder="パスワード">
166
+
167
+ <button class="login-btn">ログイン</button>
168
+
23
- </form>
169
+ </form>
170
+
171
+ <a class="return" href="./top.php">戻る</a>
172
+
173
+ </div>
174
+
175
+ </main>
176
+
177
+ <footer>
178
+
179
+ <p>テストページ</p>
180
+
181
+ </footer>
182
+
183
+ </body>
184
+
185
+ </html>
24
186
 
25
187
  ```
26
188