質問編集履歴
5
指摘箇所の修正,他
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["
|
98
|
+
if (isset($_POST["data"]) && isset($_POST["name"])) {
|
81
99
|
$data = $_POST["data"];
|
82
|
-
$filename = $_POST["
|
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
指摘された脱字\(プログラム内\)の修正
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($
|
102
|
+
$stm->execute($params);
|
107
103
|
foreach ($stm->fetchAll(PDO::FETCH_ASSOC) as $picture) {
|
108
104
|
$data = $picture['data'];
|
109
105
|
echo $data;
|
3
変数名が間違っていたところがあったので修正
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["
|
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["
|
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さんに指摘されたように、説明を追記
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
エラーメッセージの掲載。修正案に直した後のプログラムに書き換え。他
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 ="
|
76
|
+
$sql = "select * from pictures where name = ?"; // sql文
|
60
77
|
if(!empty($sql)){
|
61
|
-
$stm = $dbh->
|
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
|
```
|