回答編集履歴

3

修正

2016/03/30 10:53

投稿

orange0190
orange0190

スコア1698

test CHANGED
@@ -121,3 +121,67 @@
121
121
  .$email."\")";
122
122
 
123
123
  ```
124
+
125
+
126
+
127
+ ---
128
+
129
+ もう一度修正 ついでにSQLを作成する部分にも間違いがあったので修正
130
+
131
+ ```php
132
+
133
+ $family_name = $_POST['family_name'];
134
+
135
+ $first_name = $_POST['first_name'];
136
+
137
+ $sex = $_POST['sex'];
138
+
139
+ if(is_null($sex) || $sex === ''){
140
+
141
+ $sex = 'NULL';
142
+
143
+ }
144
+
145
+ $grading = $_POST['grading'];
146
+
147
+ if(is_null($grading) || $grading === ''){
148
+
149
+ $grading = 'NULL';
150
+
151
+ }
152
+
153
+ $email = $_POST['email'];
154
+
155
+
156
+
157
+ $sql = "insert into account(";
158
+
159
+ $sql .= "family_name,";
160
+
161
+ $sql .= "first_name,";
162
+
163
+ $sql .= "sex,";
164
+
165
+ $sql .= "grading,";
166
+
167
+ $sql .= "email) ";
168
+
169
+
170
+
171
+
172
+
173
+ $sql .="values(\""
174
+
175
+ .$family_name."\",\""
176
+
177
+ .$first_name."\","
178
+
179
+ .$sex.","
180
+
181
+ .$grading.",\""
182
+
183
+ .$email."\")";
184
+
185
+ ```
186
+
187
+

2

コードミスを修正

2016/03/30 10:52

投稿

orange0190
orange0190

スコア1698

test CHANGED
@@ -74,7 +74,7 @@
74
74
 
75
75
  $sex = $_POST['sex'];
76
76
 
77
- if(isset($sex)){
77
+ if(!isset($sex)){
78
78
 
79
79
  $sex = 'NULL';
80
80
 
@@ -82,7 +82,7 @@
82
82
 
83
83
  $grading = $_POST['grading'];
84
84
 
85
- if(isset($grading)){
85
+ if(!isset($grading)){
86
86
 
87
87
  $grading = 'NULL';
88
88
 

1

追記

2016/03/30 10:49

投稿

orange0190
orange0190

スコア1698

test CHANGED
@@ -59,3 +59,65 @@
59
59
  ですが、POSTされてきたものをそのままSQLに利用するのは大変危険です。
60
60
 
61
61
  プリペアドステートメントの利用やエスケープする必要性があります。
62
+
63
+
64
+
65
+ ---
66
+
67
+ 指摘があったので修正
68
+
69
+ ```php
70
+
71
+ $family_name = $_POST['family_name'];
72
+
73
+ $first_name = $_POST['first_name'];
74
+
75
+ $sex = $_POST['sex'];
76
+
77
+ if(isset($sex)){
78
+
79
+ $sex = 'NULL';
80
+
81
+ }
82
+
83
+ $grading = $_POST['grading'];
84
+
85
+ if(isset($grading)){
86
+
87
+ $grading = 'NULL';
88
+
89
+ }
90
+
91
+ $email = $_POST['email'];
92
+
93
+
94
+
95
+ $sql = "insert into account(";
96
+
97
+ $sql .= "family_name,";
98
+
99
+ $sql .= "first_name,";
100
+
101
+ $sql .= "sex,";
102
+
103
+ $sql .= "grading,";
104
+
105
+ $sql .= "email,";
106
+
107
+
108
+
109
+
110
+
111
+ $sql .="values(\""
112
+
113
+ .$family_name."\",\""
114
+
115
+ .$first_name."\","
116
+
117
+ .$sex.","
118
+
119
+ .$grading.",\""
120
+
121
+ .$email."\")";
122
+
123
+ ```