質問編集履歴

1

問題点の変更

2021/01/18 21:51

投稿

higa_yomityu
higa_yomityu

スコア41

test CHANGED
File without changes
test CHANGED
@@ -4,41 +4,31 @@
4
4
 
5
5
 
6
6
 
7
- しかし、現在記述しているコードだと $error記述エラーが画面に表示されしまいます。
7
+ 現在、次ジに遷移ないため何原因かを調べています。
8
8
 
9
- のため以下質問させていただきます。
9
+ form内容が送られてきているのか怪しかったので、IF文にelse記述しformの内容が送られきてるかチェックしまし。結果、3つのelseの中の$error['login']='failed';によって出力されるエラー文が表示されます。
10
-
11
- ①select文の正しい記述方法
12
-
13
- ②なぜfetchを使うのか
14
10
 
15
11
 
16
12
 
17
- よろしくおねがいします。
13
+ 原因はどこにありますか?よろしくおねがいします。
18
14
 
19
15
 
20
16
 
21
17
 
22
18
 
23
- ```ここに言語を入力
19
+ ```php
24
20
 
25
21
  if($_POST){
26
22
 
27
- //formで送られたPOSTを代入
23
+ if($_POST['name'] !=='' && $_POST['password'] !==''){
28
24
 
29
- $log=$_POST;
30
-
31
-
32
-
33
- if($_POST['name'] !==''&& $_POST['password' !=='']){
34
-
35
- $login=$db->prepare('SELECT members FROM members WHERE name=:name,password=:password');
25
+ $login=$db->prepare('SELECT name,password FROM members WHERE name=:name AND password=:password');
36
26
 
37
27
 
38
28
 
39
29
  $login->bindParam(':name',$_POST['name'],PDO::PARAM_STR);
40
30
 
41
- $login->bindParam(':password',$_POST['pasword'],PDO::PARAM_STR);
31
+ $login->bindParam(':password',$_POST['password'],PDO::PARAM_STR);
42
32
 
43
33
 
44
34
 
@@ -48,24 +38,78 @@
48
38
 
49
39
  $member=$login->fetch();
50
40
 
51
- }
41
+
52
42
 
43
+ if($member){
53
44
 
45
+ $_SESSION['id']=$member;
54
46
 
55
- if($member){
47
+ header('Location:check.php');
56
48
 
57
- $_SESSION['id']=$member['id'];
49
+ exit();
58
50
 
59
- header('Location:check.php');
51
+ }else{
60
52
 
61
- exit();
53
+ $error['login']='failed';
54
+
55
+ }
62
56
 
63
57
  }else{
64
58
 
65
- $error['login']='failed';
59
+ echo "dame";
66
60
 
67
61
  }
62
+
63
+ }else{
64
+
65
+ echo "mada";
68
66
 
69
67
  }
70
68
 
71
69
  ```
70
+
71
+
72
+
73
+ ```ここに言語を入力
74
+
75
+ <form action="" method="POST">
76
+
77
+ <P>お名前:</P>
78
+
79
+ <input type="text" name="name" value="<?php print(htmlspecialchars($_POST['name'],ENT_QUOTES)); ?>">
80
+
81
+
82
+
83
+ <p>パスワード:</p>
84
+
85
+ <input type="password" name="password" value="<?php print(htmlspecialchars($_POST['password'])); ?>">
86
+
87
+
88
+
89
+ <?php if($error['login']==='failed'):?>
90
+
91
+ <p class="error">ログインに失敗しました</p>
92
+
93
+ <?php endif;?>
94
+
95
+
96
+
97
+ <br>
98
+
99
+
100
+
101
+ <label>
102
+
103
+ <input type="checkbox" name="save" value="on">
104
+
105
+ 次回からログインを簡略化する
106
+
107
+ </label>
108
+
109
+
110
+
111
+ <input type="submit" value="ログイン">
112
+
113
+ </form>
114
+
115
+ ```