質問編集履歴
4
var_dump($row);した結果を追加しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -54,7 +54,6 @@
|
|
54
54
|
わかる方いらっしゃいましたら、教えて下さい!!
|
55
55
|
|
56
56
|
わからない部分は $check_login_query からです
|
57
|
-
|
58
57
|
``` php
|
59
58
|
<?php
|
60
59
|
if (isset($_POST['login_button'])) {
|
@@ -78,4 +77,9 @@
|
|
78
77
|
|
79
78
|
}
|
80
79
|
?>
|
80
|
+
```
|
81
|
+
|
82
|
+
var_dump($row);した結果
|
83
|
+
```php
|
84
|
+
array(24) { [0]=> string(1) "3" ["id"]=> string(1) "3" [1]=> string(8) "Chandler" ["first_name"]=> string(8) "Chandler" [2]=> string(4) "Bing" ["last_name"]=> string(4) "Bing" [3]=> string(13) "chandler_bing" ["username"]=> string(13) "chandler_bing" [4]=> string(18) "Chandler@gmail.com" ["email"]=> string(18) "Chandler@gmail.com" [5]=> string(32) "e04857f0b448a8d84176da365bca0da6" ["password"]=> string(32) "e04857f0b448a8d84176da365bca0da6" [6]=> string(10) "2019-05-15" ["signup_date"]=> string(10) "2019-05-15" [7]=> string(54) "assets/images/profile_pics/defaults/head_deep_blue.png" ["profile_pic"]=> string(54) "assets/images/profile_pics/defaults/head_deep_blue.png" [8]=> string(1) "0" ["num_posts"]=> string(1) "0" [9]=> string(1) "0" ["num_likes"]=> string(1) "0" [10]=> string(2) "no" ["user_closed"]=> string(2) "no" [11]=> string(1) "," ["friend_array"]=> string(1) "," }
|
81
85
|
```
|
3
$_SESSION['username'] = $username; の抜けていた$を足しました!
title
CHANGED
File without changes
|
body
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
$row = mysqli_fetch_array($check_database_query);
|
22
22
|
$username = $row['username'];
|
23
23
|
|
24
|
-
$_SESSION['username'] = username;
|
24
|
+
$_SESSION['username'] = $username;
|
25
25
|
header("Location: index.php");
|
26
26
|
exit();
|
27
27
|
|
@@ -70,7 +70,7 @@
|
|
70
70
|
$row = mysqli_fetch_array($check_database_query);
|
71
71
|
$username = $row['username'];
|
72
72
|
|
73
|
-
$_SESSION['username'] = username;
|
73
|
+
$_SESSION['username'] = $username;
|
74
74
|
header("Location: index.php");
|
75
75
|
exit();
|
76
76
|
|
2
わからない部分の詳細や、タイトルを変更しました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
なぜSQLの列を取得して、配列に入れる必要があるのか?
|
body
CHANGED
@@ -1,7 +1,56 @@
|
|
1
|
-
phpでツイッターのクローンを教材を見ながら作成しています。
|
1
|
+
phpでツイッターのクローンをUdemyの教材を見ながら作成しています。
|
2
2
|
|
3
|
-
|
3
|
+
教材でどうしても意味の分からない部分があったので、教えていただきたいです。
|
4
4
|
|
5
|
+
```PHP
|
6
|
+
$check_database_query = mysqli($con, "SELECT * FROM users WHERE email = '$email' AND password = '$password'");
|
7
|
+
$check_login_query = mysqli_num_rows($check_database_query);
|
8
|
+
|
9
|
+
```
|
10
|
+
|
11
|
+
SQLのテーブルに入っているユーザー情報を取り出して、変数に入れて、行数がいくつかを変数に格納していました。
|
12
|
+
ここで一つ目の質問なのですが、mysqli_num_rowsは「結果の行数を取得する」という意味とマニュアルに書いてあったのですが、これは「変数の情報と適応する情報が入った列が何行あるのか?」を取得するという認識で正しいのでしょうか?
|
13
|
+
|
14
|
+
|
15
|
+
その後、
|
16
|
+
|
17
|
+
|
18
|
+
```php
|
19
|
+
|
20
|
+
if($check_login_query == 1) {
|
21
|
+
$row = mysqli_fetch_array($check_database_query);
|
22
|
+
$username = $row['username'];
|
23
|
+
|
24
|
+
$_SESSION['username'] = username;
|
25
|
+
header("Location: index.php");
|
26
|
+
exit();
|
27
|
+
|
28
|
+
}
|
29
|
+
```
|
30
|
+
|
31
|
+
まず、If文で、先ほど得た行数が1、つまり、正常に情報がテーブルに入っているかどうかを確認しています。
|
32
|
+
次に、mysqli_fetch_array関数を使って、結果の行を連想配列で取得しています。
|
33
|
+
ここで二つめの質問なのですが、ここで取得した連想配列とは、下のようなものでしょうか?
|
34
|
+
```php
|
35
|
+
|
36
|
+
$row = array(
|
37
|
+
"email" => "test@gmail.com",
|
38
|
+
"password" => "**********"
|
39
|
+
);
|
40
|
+
|
41
|
+
```
|
42
|
+
その後、
|
43
|
+
```php
|
44
|
+
$username = $row['username'];
|
45
|
+
```
|
46
|
+
と続くのですが、$row['username']というのはどのような意味なのでしょうか?
|
47
|
+
予想では、ユーザーネームに入っている配列の「username」キーの情報を変数に格納するという意味だと思うのですが・・・・
|
48
|
+
|
49
|
+
最後の質問なのですが、exit();は必要なのでしょうか?
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
|
5
54
|
わかる方いらっしゃいましたら、教えて下さい!!
|
6
55
|
|
7
56
|
わからない部分は $check_login_query からです
|
1
コードを付け足しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
|
5
5
|
わかる方いらっしゃいましたら、教えて下さい!!
|
6
6
|
|
7
|
+
わからない部分は $check_login_query からです
|
8
|
+
|
7
9
|
``` php
|
8
10
|
<?php
|
9
11
|
if (isset($_POST['login_button'])) {
|