teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

指摘箇所の修正,他

2016/08/07 06:00

投稿

Rino-T_C
Rino-T_C

スコア95

title CHANGED
File without changes
body CHANGED
@@ -1,10 +1,11 @@
1
- 少し修正しました。
1
+ # 修正
2
2
  パスワード等個人情報が含まれる接続部分以外は全部のせました。
3
3
  また、回答してくださった方修正箇所を書き直しました。
4
4
  最初初心者マークをつけることを忘れていましたがjavascript,php,MySQL初心者です。
5
5
 
6
- 現在エラは出ておりせん
6
+ 現在のソスに書き換えした。
7
7
 
8
+
8
9
  varchar(2499)は
9
10
  50*50のマス目データを文字列"000001111010..."のように受け取るのでそのような形にしてあります。
10
11
 
@@ -30,7 +31,24 @@
30
31
  document.getElementById("get").addEventListener("click",function(){...
31
32
  のところ(一番下のあたり)の変数strの値が""と空の文字列でした。
32
33
 
34
+ #現在のエラー
35
+ Notice: Undefined variable: filename in /var/www/html/x6314061/canvas.php on line 55 3 records found
33
36
 
37
+ canvas.php:155 Uncaught SyntaxError: Invalid or unexpected token
38
+
39
+ # 追加
40
+ 修正していくと時々
41
+ (google chrome のデベロッパーツールのソースコードパネルにて)
42
+ ```php
43
+ document.getElementById("get").addEventListener("click",function(){
44
+
45
+ var form2 = document.getElementById("form2");
46
+ var str = null;
47
+ str = "
48
+ ```
49
+ の、最後のようになってエラーを吐くことがあります(今吐いてます)。
50
+
51
+ # 最初に書いた質問
34
52
  文字列を
35
53
  javascript -> php -> MySQL
36
54
  の流れでデータベースに保存し、その逆
@@ -48,7 +66,7 @@
48
66
 
49
67
  よろしくおねがいします。
50
68
 
51
-
69
+ # ソースコード
52
70
  ```php
53
71
  <!DOCTYPE html>
54
72
  <html lang="ja">
@@ -72,14 +90,14 @@
72
90
  </form>
73
91
 
74
92
  <?php
75
- //接続部分はパスワードまれるため省略
93
+ //接続部分はPASSWORDため省略
76
94
 
77
95
  //$data = "";
78
96
  //$filename = "";
79
97
 
80
- if (isset($_POST["data"]) && isset($_POST["filename"])) {
98
+ if (isset($_POST["data"]) && isset($_POST["name"])) {
81
99
  $data = $_POST["data"];
82
- $filename = $_POST["filename"];
100
+ $filename = $_POST["name"];
83
101
  }
84
102
  //処理
85
103
 
@@ -95,6 +113,7 @@
95
113
  }
96
114
  //echo "done";
97
115
 
116
+ //レコードの取得
98
117
  $sql = "select * from pictures where name = ?"; // sql文
99
118
  if(!empty($sql)){
100
119
  $stm = $dbh->prepare($sql); // ステートメント

4

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

2016/08/07 06:00

投稿

Rino-T_C
Rino-T_C

スコア95

title CHANGED
File without changes
body CHANGED
@@ -3,12 +3,8 @@
3
3
  また、回答してくださった方修正箇所を書き直しました。
4
4
  最初初心者マークをつけることを忘れていましたがjavascript,php,MySQL初心者です。
5
5
 
6
- この状態で出ているエラーメッセージ
6
+ 現在エラーは出ておりません
7
7
 
8
- 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
9
-
10
- です。
11
-
12
8
  varchar(2499)は
13
9
  50*50のマス目データを文字列"000001111010..."のように受け取るのでそのような形にしてあります。
14
10
 
@@ -103,7 +99,7 @@
103
99
  if(!empty($sql)){
104
100
  $stm = $dbh->prepare($sql); // ステートメント
105
101
  $params = array($filename);
106
- $stm->execute($param);
102
+ $stm->execute($params);
107
103
  foreach ($stm->fetchAll(PDO::FETCH_ASSOC) as $picture) {
108
104
  $data = $picture['data'];
109
105
  echo $data;

3

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

2016/08/07 05:01

投稿

Rino-T_C
Rino-T_C

スコア95

title CHANGED
File without changes
body CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  また、実は
20
20
  ```php
21
- if(!empty($_POST["name"]) && !empty($_POST["email"])){
21
+ if(!empty($_POST["name"]) && !empty($_POST["data"])){
22
22
  $stmt = $dbh->prepare("insert into pictures (name,data) values(:name, :data)");
23
23
  $stmt->execute(
24
24
  array(
@@ -88,7 +88,7 @@
88
88
  //処理
89
89
 
90
90
  //レコードの挿入
91
- if(!empty($_POST["name"]) && !empty($_POST["email"])){
91
+ if(!empty($_POST["name"]) && !empty($_POST["data"])){
92
92
  $stmt = $dbh->prepare("insert into pictures (name,data) values(:name, :data)");
93
93
  $stmt->execute(
94
94
  array(

2

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

2016/08/07 04:47

投稿

Rino-T_C
Rino-T_C

スコア95

title CHANGED
File without changes
body CHANGED
@@ -9,6 +9,32 @@
9
9
 
10
10
  です。
11
11
 
12
+ varchar(2499)は
13
+ 50*50のマス目データを文字列"000001111010..."のように受け取るのでそのような形にしてあります。
14
+
15
+ kei344さんの助言を参考に書かせていただきますと、
16
+
17
+ formタグのところの、データベース保存のところを押すと、MySQLのデータベースにデータ名とデータを送信ししようとしたのですが、うまく送信できていないのか、データベースの方を確認しても、空のまま。
18
+
19
+ また、実は
20
+ ```php
21
+ if(!empty($_POST["name"]) && !empty($_POST["email"])){
22
+ $stmt = $dbh->prepare("insert into pictures (name,data) values(:name, :data)");
23
+ $stmt->execute(
24
+ array(
25
+ ":name"=>$_POST["name"],
26
+ ":data"=>$_POST["data"],
27
+ )
28
+ );
29
+ }
30
+ ```
31
+ この部分をif文で囲っていない時は更新のたびにデータベースに保存されるという問題があったものの、保存はできていました。その時、データ名を指定してデータを取得しようとしたものの描画に反映されませんでした。
32
+
33
+ 取得ボタンを押した後、変数の値を見てみると
34
+ document.getElementById("get").addEventListener("click",function(){...
35
+ のところ(一番下のあたり)の変数strの値が""と空の文字列でした。
36
+
37
+
12
38
  文字列を
13
39
  javascript -> php -> MySQL
14
40
  の流れでデータベースに保存し、その逆

1

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

2016/08/07 04:36

投稿

Rino-T_C
Rino-T_C

スコア95

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,14 @@
1
+ 少し修正しました。
2
+ パスワード等個人情報が含まれる接続部分以外は全部のせました。
3
+ また、回答してくださった方修正箇所を書き直しました。
4
+ 最初初心者マークをつけることを忘れていましたがjavascript,php,MySQL初心者です。
5
+
6
+ この状態で出ているエラーメッセージは
7
+
8
+ 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
9
+
10
+ です。
11
+
1
12
  文字列を
2
13
  javascript -> php -> MySQL
3
14
  の流れでデータベースに保存し、その逆
@@ -15,7 +26,13 @@
15
26
 
16
27
  よろしくおねがいします。
17
28
 
29
+
18
30
  ```php
31
+ <!DOCTYPE html>
32
+ <html lang="ja">
33
+ <head>
34
+ <meta charset="utf-8">
35
+ </head>
19
36
  <body>
20
37
  <canvas id="myCanvas" width="600" height="600"></canvas>
21
38
  <form id="form" action="canvas.php" method="post">
@@ -56,9 +73,11 @@
56
73
  }
57
74
  //echo "done";
58
75
 
59
- $sql = "select * from pictures where name ="+$filename; // sql文
76
+ $sql = "select * from pictures where name = ?"; // sql文
60
77
  if(!empty($sql)){
61
- $stm = $dbh->query($sql); // ステートメント
78
+ $stm = $dbh->prepare($sql); // ステートメント
79
+ $params = array($filename);
80
+ $stm->execute($param);
62
81
  foreach ($stm->fetchAll(PDO::FETCH_ASSOC) as $picture) {
63
82
  $data = $picture['data'];
64
83
  echo $data;
@@ -71,8 +90,6 @@
71
90
  ?>
72
91
 
73
92
  <script>
74
-
75
- //-----------------ここから下の下線までは多分あまり関係無い...?----------
76
93
  window.onload = function(){
77
94
  draw();
78
95
  }
@@ -185,7 +202,7 @@
185
202
  }
186
203
  }
187
204
  }
188
- //--------------------------------------------------------------------------
205
+
189
206
  document.getElementById("submit").addEventListener("click",function(){
190
207
  var data = bool_to_str();
191
208
  var form = document.getElementById("form");
@@ -209,4 +226,6 @@
209
226
  });
210
227
  </script>
211
228
  </body>
229
+ </html>
230
+
212
231
  ```