質問編集履歴
2
発生している問題・エラーメッセージ を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
### 発生している問題・エラーメッセージ
|
10
10
|
|
11
11
|
```
|
12
|
-
Warning: Trying to access array offset on value of type bool
|
12
|
+
Warning: Trying to access array offset on value of type bool in C:\xampp\htdocs\practice2\login.php on line 47
|
13
13
|
```
|
14
14
|
「bool型の値で配列オフセットにアクセスしようとしています」とのことですがこの状況で何をするべきなのかわかりません。
|
15
15
|
### 該当のソースコード
|
1
文法の修正 47行目の条件修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,6 +22,7 @@
|
|
22
22
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
23
23
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
24
24
|
]);
|
25
|
+
//接続
|
25
26
|
}
|
26
27
|
catch(PDOExeption $e){
|
27
28
|
exit('データベースエラー');
|
@@ -31,10 +32,12 @@
|
|
31
32
|
session_regenerate_id(TRUE);
|
32
33
|
header("Location: calendar2.php");
|
33
34
|
exit();
|
35
|
+
//ログイン状態の場合ログイン後のページにリダイレクト
|
34
36
|
}
|
35
37
|
|
36
38
|
if(count($_POST) === 0){
|
37
39
|
$message = "";
|
40
|
+
//postされて来なかったとき
|
38
41
|
}
|
39
42
|
|
40
43
|
else{
|
@@ -50,14 +53,15 @@
|
|
50
53
|
|
51
54
|
else{
|
52
55
|
try{
|
53
|
-
$mail = $_POST["mail"];
|
54
|
-
$stmt = $pdo ->
|
56
|
+
$stmt = $pdo ->prepare('SELECT * FROM log_in WHERE mail = ?');
|
57
|
+
$stmt -> bindParam(1, $_POST["mail"], PDO::PARAM_STR, 10);
|
58
|
+
$stmt -> execute();
|
55
59
|
$result = $stmt ->fetch(PDO::FETCH_ASSOC);
|
56
60
|
}
|
57
61
|
catch(PDOException $e){
|
58
62
|
exit('データベースエラー');
|
59
63
|
}
|
60
|
-
if(pass
|
64
|
+
if($_POST['pass'] == $result['pass']){
|
61
65
|
session_regenerate_id(TRUE);
|
62
66
|
$_SESSION["login"] = $_POST["mail"];
|
63
67
|
header("Location: calendar2.php");
|
@@ -71,12 +75,14 @@
|
|
71
75
|
$message =htmlspecialchars($message);
|
72
76
|
?>
|
73
77
|
|
78
|
+
|
79
|
+
|
74
80
|
<html>
|
75
81
|
<form action="login.php" method="post">
|
76
82
|
<p><?php echo $message ?></p>
|
77
|
-
mail <input type="text" name="mail">
|
83
|
+
mail <input type="text" name="mail">
|
78
|
-
pass <input type="password" name="pass">
|
84
|
+
pass <input type="password" name="pass">
|
79
|
-
<input type="submit" name="submit" value ="ログイン">
|
85
|
+
<input type="submit" name="submit" value ="ログイン">
|
80
86
|
</form>
|
81
87
|
</html>
|
82
88
|
```
|