質問編集履歴

5

create文の追加

2017/06/24 13:09

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -64,6 +64,22 @@
64
64
 
65
65
  ```
66
66
 
67
+
68
+
69
+ ```
70
+
71
+ echo '<select name="college">';
72
+
73
+ echo '<option value="0">学校名を選択してください</option>';
74
+
75
+ //ここでは、データベースのcollegeから大学名を取り出しています。//
76
+
77
+ echo '<option value="'.$row['college_id'].'">'.$row['name'].'</option>';
78
+
79
+ echo '</select>';
80
+
81
+ ```
82
+
67
83
  **Database**
68
84
 
69
85
  college table
@@ -80,147 +96,133 @@
80
96
 
81
97
  |4| ○○○○○○○○大学|
82
98
 
83
-
99
+ ```ここに言語を入力
100
+
84
-
101
+ Create table college(
102
+
103
+ college_id int auto_increment primary key,
104
+
105
+ name varchar(100) not null
106
+
107
+ );
108
+
109
+ ```
110
+
111
+
112
+
113
+
114
+
115
+ **signup-out.php**
116
+
117
+ ```PHP
118
+
119
+ session_start();
120
+
121
+ $pdo=new PDO('mysql:host=localhost;dbname=admin;charset=utf8','root');
122
+
123
+ if (isset($_SESSION['users'])){
124
+
125
+ $user_id=$_SESSION['users']['user_id'];
126
+
127
+ $sql=$pdo->prepare('select * from users where user_id!=? and username=?');
128
+
129
+ $sql->execute([$user_id,$_REQUEST['username']]);
130
+
131
+ }else{
132
+
133
+ $sql=$pdo->prepare('select * from users where username=?');
134
+
135
+ $sql->execute([$_REQUEST['username']]);
136
+
137
+ }
138
+
85
- |#|名前|データ型| 照合順序|属性|NULL|デフォルト値|その他|
139
+ if (empty($sql->fetchAll())) {
140
+
141
+ if (isset($_SESSION['users'])){
142
+
143
+ $sql=$pdo->prepare('update users set name=?, email=?,
144
+
145
+ username=?, password=? college_name=? where user_id=?');
146
+
147
+ $sql->execute([
148
+
149
+ $_REQUEST['name'], $_REQUEST['email'],
150
+
151
+ $_REQUEST['username'],$_REQUEST['password'],$_REQUEST['college'], $user_id]);
152
+
153
+ $_SESSION['users']=[
154
+
155
+ 'user_id'=>$user_id, 'name'=>$_REQUEST['name'],
156
+
157
+ 'email'=>$_REQUEST['email'],'username'=>$_REQUEST['username'],
158
+
159
+ 'password'=>$_REQUEST['password'],'college_name'=>$_REQUEST['college']
160
+
161
+ ];
162
+
163
+ echo '<p>アカウントを更新しました。</p>';
164
+
165
+ }else {
166
+
167
+ $sql=$pdo->prepare('insert into users valuse(null,?,?,?,?,?)');
168
+
169
+ $sql->execute([
170
+
171
+ $_REQUEST['name'],$_REQUEST['email'],$_REQUEST['username'],
172
+
173
+ //ここの$row['college_id'],$row['name']で、signup.phpの学校名をデータベースに保存したいのですが、その方法が分かりません。//
174
+
175
+ $_REQUEST['password'],$row['college_id'],$row['name']]);
176
+
177
+ echo '<p>アカウントを登録しました。</p>';
178
+
179
+ }
180
+
181
+ }else {
182
+
183
+ echo '<p>ログイン名がすでに使われていますので、変更してください。</p>';
184
+
185
+ }
186
+
187
+ ?>
188
+
189
+ ```
190
+
191
+ **Database**
192
+
193
+ users table
194
+
195
+ user_id|name|username|email|password|college_id|college_name|
86
196
 
87
197
  |:--|:--:|--:|
88
198
 
89
- |1|college_id|int(11)|||いいえ|なし|AUTO_INCREMENT|
199
+ |1|admin|admin|admin@gamil.com|*******|1|○○○○○○○○大学|
90
-
91
- |2|name|varchar(100)|utf8_general_ci||いいえ|なし|
92
-
93
-
94
200
 
95
201
 
96
202
 
97
203
  ```ここに言語を入力
98
204
 
99
- echo '<select name="college">';
100
-
101
- echo '<option value="0">学校名を選択してください</option>';
102
-
103
- //ここでは、データベースのcollegeから大学名を取り出しています。//
104
-
105
- echo '<option value="'.$row['college_id'].'">'.$row['name'].'</option>';
106
-
107
- echo '</select>';
108
-
109
- ```
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
- **signup-out.php**
120
-
121
- ```PHP
122
-
123
- session_start();
124
-
125
- $pdo=new PDO('mysql:host=localhost;dbname=admin;charset=utf8','root');
126
-
127
- if (isset($_SESSION['users'])){
128
-
129
- $user_id=$_SESSION['users']['user_id'];
130
-
131
- $sql=$pdo->prepare('select * from users where user_id!=? and username=?');
132
-
133
- $sql->execute([$user_id,$_REQUEST['username']]);
134
-
135
- }else{
136
-
137
- $sql=$pdo->prepare('select * from users where username=?');
138
-
139
- $sql->execute([$_REQUEST['username']]);
140
-
141
- }
142
-
143
- if (empty($sql->fetchAll())) {
144
-
145
- if (isset($_SESSION['users'])){
146
-
147
- $sql=$pdo->prepare('update users set name=?, email=?,
148
-
149
- username=?, password=? college_name=? where user_id=?');
150
-
151
- $sql->execute([
152
-
153
- $_REQUEST['name'], $_REQUEST['email'],
154
-
155
- $_REQUEST['username'],$_REQUEST['password'],$_REQUEST['college'], $user_id]);
156
-
157
- $_SESSION['users']=[
158
-
159
- 'user_id'=>$user_id, 'name'=>$_REQUEST['name'],
160
-
161
- 'email'=>$_REQUEST['email'],'username'=>$_REQUEST['username'],
162
-
163
- 'password'=>$_REQUEST['password'],'college_name'=>$_REQUEST['college']
164
-
165
- ];
166
-
167
- echo '<p>アカウントを更新しました。</p>';
168
-
169
- }else {
170
-
171
- $sql=$pdo->prepare('insert into users valuse(null,?,?,?,?,?)');
172
-
173
- $sql->execute([
174
-
175
- $_REQUEST['name'],$_REQUEST['email'],$_REQUEST['username'],
176
-
177
- //ここの$row['college_id'],$row['name']で、signup.phpの学校名をデータベースに保存したいのですが、その方法が分かりません。//
178
-
179
- $_REQUEST['password'],$row['college_id'],$row['name']]);
180
-
181
- echo '<p>アカウントを登録しました。</p>';
182
-
183
- }
184
-
185
- }else {
186
-
187
- echo '<p>ログイン名がすでに使われていますので、変更してください。</p>';
188
-
189
- }
190
-
191
- ?>
192
-
193
- ```
194
-
195
- **Database**
196
-
197
- users table
198
-
199
- user_id|name|username|email|password|college_id|college_name|
200
-
201
- |:--|:--:|--:|
202
-
203
- |1|admin|admin|admin@gamil.com|*******|1|○○○○○○○○大学|
204
-
205
-
206
-
207
- |#|名前|データ型| 照合順序|属性|NULL|デフォルト値|その他|
208
-
209
- |:--|:--:|--:|
210
-
211
- |1|user_id|int(11)|||いいえ|なし|AUTO_INCREMENT|
212
-
213
- |2|name|varchar(50)|utf8_general_ci||いいえ|なし|
214
-
215
- |3|username|varchar(30)|utf8_general_ci||いいえ|なし|
216
-
217
- |4|email|varchar(35)|utf8_general_ci||いいえ|なし|
218
-
219
- |5|password|varchar(60)|utf8_general_ci||いいえ|なし|
220
-
221
- |6|college_id|int(11)|||はい|NULL|
222
-
223
- |7|college_name|text|utf8_general_ci||いいえ|なし|
205
+ Create table users (
206
+
207
+ user_id int auto_increment primary key,
208
+
209
+ name varchar(50) not null,
210
+
211
+ username varchar(30) not null unique,
212
+
213
+ email varchar(35) not null,
214
+
215
+ password varchar(50) not null,
216
+
217
+ college_id int not null,
218
+
219
+ college_name text not null
220
+
221
+ );
222
+
223
+ ```
224
+
225
+
224
226
 
225
227
 
226
228
 

4

Create文の追加

2017/06/24 13:09

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -82,6 +82,18 @@
82
82
 
83
83
 
84
84
 
85
+ |#|名前|データ型| 照合順序|属性|NULL|デフォルト値|その他|
86
+
87
+ |:--|:--:|--:|
88
+
89
+ |1|college_id|int(11)|||いいえ|なし|AUTO_INCREMENT|
90
+
91
+ |2|name|varchar(100)|utf8_general_ci||いいえ|なし|
92
+
93
+
94
+
95
+
96
+
85
97
  ```ここに言語を入力
86
98
 
87
99
  echo '<select name="college">';
@@ -192,6 +204,26 @@
192
204
 
193
205
 
194
206
 
207
+ |#|名前|データ型| 照合順序|属性|NULL|デフォルト値|その他|
208
+
209
+ |:--|:--:|--:|
210
+
211
+ |1|user_id|int(11)|||いいえ|なし|AUTO_INCREMENT|
212
+
213
+ |2|name|varchar(50)|utf8_general_ci||いいえ|なし|
214
+
215
+ |3|username|varchar(30)|utf8_general_ci||いいえ|なし|
216
+
217
+ |4|email|varchar(35)|utf8_general_ci||いいえ|なし|
218
+
219
+ |5|password|varchar(60)|utf8_general_ci||いいえ|なし|
220
+
221
+ |6|college_id|int(11)|||はい|NULL|
222
+
223
+ |7|college_name|text|utf8_general_ci||いいえ|なし|
224
+
225
+
226
+
195
227
  という形で、保存をしたいのですが、その方法が分かりません。
196
228
 
197
229
 

3

言語の追加

2017/06/24 12:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,187 +1,187 @@
1
1
  **signup.php**
2
2
 
3
+ ```PHP
4
+
5
+ <?php
6
+
7
+ session_start();
8
+
9
+ $name=$email=$username=$password='';
10
+
11
+ if (isset($_SESSION['users'])){
12
+
13
+ $name=$_SESSION['users']['name'];
14
+
15
+ $email=$_SESSION['users']['email'];
16
+
17
+ $username=$_SESSION['users']['username'];
18
+
19
+ $password=$_SESSION['users']['password'];
20
+
21
+ }
22
+
23
+ $pdo=new PDO('mysql:host=localhost;dbname=admin;charset=utf8','root');
24
+
25
+ echo '<form class="singup" action="signup-out.php" method="post">';
26
+
27
+ echo '<p>名前</p>';
28
+
29
+ echo '<input type="text" name="name" value="'.$name.'"><br>';
30
+
31
+ echo '<p>ユーザー名</p>';
32
+
33
+ echo '<input type="text" name="username" value="'.$username.'"><br>';
34
+
35
+ echo '<p>メールアドレス</p>';
36
+
37
+ echo '<input type="text" name="email" value="'.$email.'"><br>';
38
+
39
+ echo '<p>パスワード</p>';
40
+
41
+ echo '<input type="password" name="password" value="'.$password.'"><br>';
42
+
43
+ foreach ($pdo->query('select * from college') as $row) {
44
+
45
+ echo '<p>学校名</p>';
46
+
47
+ echo '<select name="college">';
48
+
49
+ echo '<option value="0">学校名を選択してください</option>';
50
+
51
+ echo '<option value="'.$row['college_id'].'">'.$row['name'].'</option>';
52
+
53
+ echo '</select>';
54
+
55
+ }
56
+
57
+ echo '<br>';
58
+
59
+ echo '<input type="submit" value="SingUp">';
60
+
61
+ echo '</form>';
62
+
63
+ ?>
64
+
65
+ ```
66
+
67
+ **Database**
68
+
69
+ college table
70
+
71
+ |college_id| name|
72
+
73
+ |:--|:--:|
74
+
75
+ |1| ○○○○○○○○大学|
76
+
77
+ |2| ○○○○○○○○大学|
78
+
79
+ |3| ○○○○○○○○大学|
80
+
81
+ |4| ○○○○○○○○大学|
82
+
83
+
84
+
3
85
  ```ここに言語を入力
4
86
 
87
+ echo '<select name="college">';
88
+
89
+ echo '<option value="0">学校名を選択してください</option>';
90
+
91
+ //ここでは、データベースのcollegeから大学名を取り出しています。//
92
+
93
+ echo '<option value="'.$row['college_id'].'">'.$row['name'].'</option>';
94
+
95
+ echo '</select>';
96
+
97
+ ```
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+ **signup-out.php**
108
+
5
- <?php
109
+ ```PHP
6
-
110
+
7
- session_start();
111
+ session_start();
112
+
8
-
113
+ $pdo=new PDO('mysql:host=localhost;dbname=admin;charset=utf8','root');
114
+
115
+ if (isset($_SESSION['users'])){
116
+
117
+ $user_id=$_SESSION['users']['user_id'];
118
+
119
+ $sql=$pdo->prepare('select * from users where user_id!=? and username=?');
120
+
9
- $name=$email=$username=$password='';
121
+ $sql->execute([$user_id,$_REQUEST['username']]);
122
+
123
+ }else{
124
+
125
+ $sql=$pdo->prepare('select * from users where username=?');
126
+
127
+ $sql->execute([$_REQUEST['username']]);
128
+
129
+ }
130
+
131
+ if (empty($sql->fetchAll())) {
10
132
 
11
133
  if (isset($_SESSION['users'])){
12
134
 
135
+ $sql=$pdo->prepare('update users set name=?, email=?,
136
+
13
- $name=$_SESSION['users']['name'];
137
+ username=?, password=? college_name=? where user_id=?');
138
+
14
-
139
+ $sql->execute([
140
+
15
- $email=$_SESSION['users']['email'];
141
+ $_REQUEST['name'], $_REQUEST['email'],
142
+
16
-
143
+ $_REQUEST['username'],$_REQUEST['password'],$_REQUEST['college'], $user_id]);
144
+
145
+ $_SESSION['users']=[
146
+
147
+ 'user_id'=>$user_id, 'name'=>$_REQUEST['name'],
148
+
149
+ 'email'=>$_REQUEST['email'],'username'=>$_REQUEST['username'],
150
+
151
+ 'password'=>$_REQUEST['password'],'college_name'=>$_REQUEST['college']
152
+
153
+ ];
154
+
155
+ echo '<p>アカウントを更新しました。</p>';
156
+
157
+ }else {
158
+
159
+ $sql=$pdo->prepare('insert into users valuse(null,?,?,?,?,?)');
160
+
161
+ $sql->execute([
162
+
17
- $username=$_SESSION['users']['username'];
163
+ $_REQUEST['name'],$_REQUEST['email'],$_REQUEST['username'],
164
+
18
-
165
+ //ここの$row['college_id'],$row['name']で、signup.phpの学校名をデータベースに保存したいのですが、その方法が分かりません。//
166
+
19
- $password=$_SESSION['users']['password'];
167
+ $_REQUEST['password'],$row['college_id'],$row['name']]);
168
+
169
+ echo '<p>アカウントを登録しました。</p>';
20
170
 
21
171
  }
22
172
 
23
- $pdo=new PDO('mysql:host=localhost;dbname=admin;charset=utf8','root');
24
-
25
- echo '<form class="singup" action="signup-out.php" method="post">';
26
-
27
- echo '<p>名前</p>';
173
+ }else {
28
-
29
- echo '<input type="text" name="name" value="'.$name.'"><br>';
174
+
30
-
31
- echo '<p>ユーザー名</p>';
175
+ echo '<p>ログインがすでに使われていますので、変更してください。</p>';
32
-
33
- echo '<input type="text" name="username" value="'.$username.'"><br>';
176
+
34
-
35
- echo '<p>メールアドレス</p>';
36
-
37
- echo '<input type="text" name="email" value="'.$email.'"><br>';
38
-
39
- echo '<p>パスワード</p>';
40
-
41
- echo '<input type="password" name="password" value="'.$password.'"><br>';
42
-
43
- foreach ($pdo->query('select * from college') as $row) {
44
-
45
- echo '<p>学校名</p>';
46
-
47
- echo '<select name="college">';
48
-
49
- echo '<option value="0">学校名を選択してください</option>';
50
-
51
- echo '<option value="'.$row['college_id'].'">'.$row['name'].'</option>';
52
-
53
- echo '</select>';
54
-
55
- }
177
+ }
56
-
57
- echo '<br>';
178
+
58
-
59
- echo '<input type="submit" value="SingUp">';
60
-
61
- echo '</form>';
62
-
63
- ?>
179
+ ?>
64
180
 
65
181
  ```
66
182
 
67
183
  **Database**
68
184
 
69
- college table
70
-
71
- |college_id| name|
72
-
73
- |:--|:--:|
74
-
75
- |1| ○○○○○○○○大学|
76
-
77
- |2| ○○○○○○○○大学|
78
-
79
- |3| ○○○○○○○○大学|
80
-
81
- |4| ○○○○○○○○大学|
82
-
83
-
84
-
85
- ```ここに言語を入力
86
-
87
- echo '<select name="college">';
88
-
89
- echo '<option value="0">学校名を選択してください</option>';
90
-
91
- //ここでは、データベースのcollegeから大学名を取り出しています。//
92
-
93
- echo '<option value="'.$row['college_id'].'">'.$row['name'].'</option>';
94
-
95
- echo '</select>';
96
-
97
- ```
98
-
99
-
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
- **signup-out.php**
108
-
109
- ```ここに言語を入力
110
-
111
- session_start();
112
-
113
- $pdo=new PDO('mysql:host=localhost;dbname=admin;charset=utf8','root');
114
-
115
- if (isset($_SESSION['users'])){
116
-
117
- $user_id=$_SESSION['users']['user_id'];
118
-
119
- $sql=$pdo->prepare('select * from users where user_id!=? and username=?');
120
-
121
- $sql->execute([$user_id,$_REQUEST['username']]);
122
-
123
- }else{
124
-
125
- $sql=$pdo->prepare('select * from users where username=?');
126
-
127
- $sql->execute([$_REQUEST['username']]);
128
-
129
- }
130
-
131
- if (empty($sql->fetchAll())) {
132
-
133
- if (isset($_SESSION['users'])){
134
-
135
- $sql=$pdo->prepare('update users set name=?, email=?,
136
-
137
- username=?, password=? college_name=? where user_id=?');
138
-
139
- $sql->execute([
140
-
141
- $_REQUEST['name'], $_REQUEST['email'],
142
-
143
- $_REQUEST['username'],$_REQUEST['password'],$_REQUEST['college'], $user_id]);
144
-
145
- $_SESSION['users']=[
146
-
147
- 'user_id'=>$user_id, 'name'=>$_REQUEST['name'],
148
-
149
- 'email'=>$_REQUEST['email'],'username'=>$_REQUEST['username'],
150
-
151
- 'password'=>$_REQUEST['password'],'college_name'=>$_REQUEST['college']
152
-
153
- ];
154
-
155
- echo '<p>アカウントを更新しました。</p>';
156
-
157
- }else {
158
-
159
- $sql=$pdo->prepare('insert into users valuse(null,?,?,?,?,?)');
160
-
161
- $sql->execute([
162
-
163
- $_REQUEST['name'],$_REQUEST['email'],$_REQUEST['username'],
164
-
165
- //ここの$row['college_id'],$row['name']で、signup.phpの学校名をデータベースに保存したいのですが、その方法が分かりません。//
166
-
167
- $_REQUEST['password'],$row['college_id'],$row['name']]);
168
-
169
- echo '<p>アカウントを登録しました。</p>';
170
-
171
- }
172
-
173
- }else {
174
-
175
- echo '<p>ログイン名がすでに使われていますので、変更してください。</p>';
176
-
177
- }
178
-
179
- ?>
180
-
181
- ```
182
-
183
- **Database**
184
-
185
185
  users table
186
186
 
187
187
  user_id|name|username|email|password|college_id|college_name|

2

タイトルの編集

2017/06/24 08:14

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- PHP : 新規登録機能にフォームから学校名を受け取り、データベースに保存したい
1
+ PHP : 新規登録の際にフォームからデータを受け取り、データベースに保存したい
test CHANGED
File without changes

1

最後の文の追加

2017/06/24 08:01

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -199,3 +199,7 @@
199
199
  ###したいこと
200
200
 
201
201
  ・新規登録の際に、大学名と大学idをユーザーテーブルに保存をしたい。
202
+
203
+
204
+
205
+ どうぞご教授の方よろしくお願いします。