質問編集履歴

5

指摘箇所の修正,他

2016/08/07 06:00

投稿

Rino-T_C
Rino-T_C

スコア95

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- 少し修正しました。
1
+ # 修正
2
2
 
3
3
  パスワード等個人情報が含まれる接続部分以外は全部のせました。
4
4
 
@@ -8,7 +8,9 @@
8
8
 
9
9
 
10
10
 
11
- 現在エラは出ておりせん
11
+ 現在のソスに書き換えした。
12
+
13
+
12
14
 
13
15
 
14
16
 
@@ -62,7 +64,41 @@
62
64
 
63
65
 
64
66
 
65
-
67
+ #現在のエラー
68
+
69
+ Notice: Undefined variable: filename in /var/www/html/x6314061/canvas.php on line 55 3 records found
70
+
71
+
72
+
73
+ canvas.php:155 Uncaught SyntaxError: Invalid or unexpected token
74
+
75
+
76
+
77
+ # 追加
78
+
79
+ 修正していくと時々
80
+
81
+ (google chrome のデベロッパーツールのソースコードパネルにて)
82
+
83
+ ```php
84
+
85
+ document.getElementById("get").addEventListener("click",function(){
86
+
87
+
88
+
89
+ var form2 = document.getElementById("form2");
90
+
91
+ var str = null;
92
+
93
+ str = "
94
+
95
+ ```
96
+
97
+ の、最後のようになってエラーを吐くことがあります(今吐いてます)。
98
+
99
+
100
+
101
+ # 最初に書いた質問
66
102
 
67
103
  文字列を
68
104
 
@@ -98,7 +134,7 @@
98
134
 
99
135
 
100
136
 
101
-
137
+ # ソースコード
102
138
 
103
139
  ```php
104
140
 
@@ -146,7 +182,7 @@
146
182
 
147
183
  <?php
148
184
 
149
- //接続部分はパスワードまれるため省略
185
+ //接続部分はPASSWORDため省略
150
186
 
151
187
 
152
188
 
@@ -156,11 +192,11 @@
156
192
 
157
193
 
158
194
 
159
- if (isset($_POST["data"]) && isset($_POST["filename"])) {
195
+ if (isset($_POST["data"]) && isset($_POST["name"])) {
160
196
 
161
197
  $data = $_POST["data"];
162
198
 
163
- $filename = $_POST["filename"];
199
+ $filename = $_POST["name"];
164
200
 
165
201
  }
166
202
 
@@ -192,6 +228,8 @@
192
228
 
193
229
 
194
230
 
231
+ //レコードの取得
232
+
195
233
  $sql = "select * from pictures where name = ?"; // sql文
196
234
 
197
235
  if(!empty($sql)){

4

指摘された脱字\(プログラム内\)の修正

2016/08/07 06:00

投稿

Rino-T_C
Rino-T_C

スコア95

test CHANGED
File without changes
test CHANGED
@@ -8,15 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- この状態で出ているエラーメッセージ
12
-
13
-
14
-
15
- Notice: Undefined variable: param in /var/www/html/x6314061/canvas.php on line 55 Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in /var/www/html/x6314061/canvas.php on line 55 3 records found
16
-
17
-
18
-
19
- です。
11
+ 現在エラーは出ておりません
20
12
 
21
13
 
22
14
 
@@ -208,7 +200,7 @@
208
200
 
209
201
  $params = array($filename);
210
202
 
211
- $stm->execute($param);
203
+ $stm->execute($params);
212
204
 
213
205
  foreach ($stm->fetchAll(PDO::FETCH_ASSOC) as $picture) {
214
206
 

3

変数名が間違っていたところがあったので修正

2016/08/07 05:01

投稿

Rino-T_C
Rino-T_C

スコア95

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  ```php
40
40
 
41
- if(!empty($_POST["name"]) && !empty($_POST["email"])){
41
+ if(!empty($_POST["name"]) && !empty($_POST["data"])){
42
42
 
43
43
  $stmt = $dbh->prepare("insert into pictures (name,data) values(:name, :data)");
44
44
 
@@ -178,7 +178,7 @@
178
178
 
179
179
  //レコードの挿入
180
180
 
181
- if(!empty($_POST["name"]) && !empty($_POST["email"])){
181
+ if(!empty($_POST["name"]) && !empty($_POST["data"])){
182
182
 
183
183
  $stmt = $dbh->prepare("insert into pictures (name,data) values(:name, :data)");
184
184
 

2

kei334さんに指摘されたように、説明を追記

2016/08/07 04:47

投稿

Rino-T_C
Rino-T_C

スコア95

test CHANGED
File without changes
test CHANGED
@@ -20,6 +20,58 @@
20
20
 
21
21
 
22
22
 
23
+ varchar(2499)は
24
+
25
+ 50*50のマス目データを文字列"000001111010..."のように受け取るのでそのような形にしてあります。
26
+
27
+
28
+
29
+ kei344さんの助言を参考に書かせていただきますと、
30
+
31
+
32
+
33
+ formタグのところの、データベース保存のところを押すと、MySQLのデータベースにデータ名とデータを送信ししようとしたのですが、うまく送信できていないのか、データベースの方を確認しても、空のまま。
34
+
35
+
36
+
37
+ また、実は
38
+
39
+ ```php
40
+
41
+ if(!empty($_POST["name"]) && !empty($_POST["email"])){
42
+
43
+ $stmt = $dbh->prepare("insert into pictures (name,data) values(:name, :data)");
44
+
45
+ $stmt->execute(
46
+
47
+ array(
48
+
49
+ ":name"=>$_POST["name"],
50
+
51
+ ":data"=>$_POST["data"],
52
+
53
+ )
54
+
55
+ );
56
+
57
+ }
58
+
59
+ ```
60
+
61
+ この部分をif文で囲っていない時は更新のたびにデータベースに保存されるという問題があったものの、保存はできていました。その時、データ名を指定してデータを取得しようとしたものの描画に反映されませんでした。
62
+
63
+
64
+
65
+ 取得ボタンを押した後、変数の値を見てみると
66
+
67
+ document.getElementById("get").addEventListener("click",function(){...
68
+
69
+ のところ(一番下のあたり)の変数strの値が""と空の文字列でした。
70
+
71
+
72
+
73
+
74
+
23
75
  文字列を
24
76
 
25
77
  javascript -> php -> MySQL

1

エラーメッセージの掲載。修正案に直した後のプログラムに書き換え。他

2016/08/07 04:36

投稿

Rino-T_C
Rino-T_C

スコア95

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,25 @@
1
+ 少し修正しました。
2
+
3
+ パスワード等個人情報が含まれる接続部分以外は全部のせました。
4
+
5
+ また、回答してくださった方修正箇所を書き直しました。
6
+
7
+ 最初初心者マークをつけることを忘れていましたがjavascript,php,MySQL初心者です。
8
+
9
+
10
+
11
+ この状態で出ているエラーメッセージは
12
+
13
+
14
+
15
+ Notice: Undefined variable: param in /var/www/html/x6314061/canvas.php on line 55 Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in /var/www/html/x6314061/canvas.php on line 55 3 records found
16
+
17
+
18
+
19
+ です。
20
+
21
+
22
+
1
23
  文字列を
2
24
 
3
25
  javascript -> php -> MySQL
@@ -32,8 +54,20 @@
32
54
 
33
55
 
34
56
 
57
+
58
+
35
59
  ```php
36
60
 
61
+ <!DOCTYPE html>
62
+
63
+ <html lang="ja">
64
+
65
+ <head>
66
+
67
+ <meta charset="utf-8">
68
+
69
+ </head>
70
+
37
71
  <body>
38
72
 
39
73
  <canvas id="myCanvas" width="600" height="600"></canvas>
@@ -114,11 +148,15 @@
114
148
 
115
149
 
116
150
 
117
- $sql = "select * from pictures where name ="+$filename; // sql文
151
+ $sql = "select * from pictures where name = ?"; // sql文
118
152
 
119
153
  if(!empty($sql)){
120
154
 
121
- $stm = $dbh->query($sql); // ステートメント
155
+ $stm = $dbh->prepare($sql); // ステートメント
156
+
157
+ $params = array($filename);
158
+
159
+ $stm->execute($param);
122
160
 
123
161
  foreach ($stm->fetchAll(PDO::FETCH_ASSOC) as $picture) {
124
162
 
@@ -144,10 +182,6 @@
144
182
 
145
183
  <script>
146
184
 
147
-
148
-
149
- //-----------------ここから下の下線までは多分あまり関係無い...?----------
150
-
151
185
  window.onload = function(){
152
186
 
153
187
  draw();
@@ -372,7 +406,7 @@
372
406
 
373
407
  }
374
408
 
375
- //--------------------------------------------------------------------------
409
+
376
410
 
377
411
  document.getElementById("submit").addEventListener("click",function(){
378
412
 
@@ -420,4 +454,8 @@
420
454
 
421
455
  </body>
422
456
 
457
+ </html>
458
+
459
+
460
+
423
461
  ```