質問編集履歴
2
質問内容を「商品がテーブルに追加されない。」に変更しました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
PHP自学中 商品
|
1
|
+
PHP自学中 商品がテーブルに追加されない。
|
body
CHANGED
@@ -2,11 +2,9 @@
|
|
2
2
|
書籍「気づけば プロ並み PHP改訂版」を見ながら自学中です。
|
3
3
|
書籍通りに挙動せず困っております。
|
4
4
|
|
5
|
+
「OK」ボタンは表示されましたので
|
5
|
-
|
6
|
+
入力した「にんじん」「198」がphpMyadmin内のmst_productテーブルに追加されるまで持ち込みたいです。
|
6
7
|
|
7
|
-
「戻る」ボタンの横に「OK」ボタンが表示されず困っています。
|
8
|
-
さらにここから入力した「にんじん」「198」がphpMyadmin内のmst_productテーブルに追加されるまで持ち込みたいです。
|
9
|
-
|
10
8
|

|
11
9
|
|
12
10
|
どうぞよろしくお願いします。
|
1
pro_add_check.php側の解決したソースコードを更新し、pro_add_done.phpのデバッグ状況を掲載しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -61,6 +61,7 @@
|
|
61
61
|
}
|
62
62
|
else
|
63
63
|
{
|
64
|
+
|
64
65
|
print '商品名:';
|
65
66
|
print $pro_name;
|
66
67
|
print '<br />';
|
@@ -68,6 +69,7 @@
|
|
68
69
|
|
69
70
|
if(preg_match('/^[0-9]+$/',$pro_price)==0)
|
70
71
|
{
|
72
|
+
|
71
73
|
print '価格をきちんと入力してください。<br />';
|
72
74
|
}
|
73
75
|
else
|
@@ -77,20 +79,26 @@
|
|
77
79
|
print '円<br />';
|
78
80
|
}
|
79
81
|
|
80
|
-
if($pro_name==''||preg_match('/
|
82
|
+
if($pro_name=='' || preg_match('/^[0-9]+$/',$pro_price)==0)
|
81
83
|
{
|
84
|
+
|
85
|
+
|
82
86
|
print '<form>';
|
83
87
|
print '<input type="button" onclick="history.back()" value="戻る">';
|
84
88
|
print '</form>';
|
89
|
+
|
85
90
|
}
|
86
91
|
else
|
87
92
|
{
|
93
|
+
|
94
|
+
|
88
95
|
print '上記の商品を追加します。<br />';
|
89
96
|
print '<form method="post" action="pro_add_done.php">';
|
90
97
|
print '<input type="hidden" name="name" value="'.$pro_name.'">';
|
91
98
|
print '<input type="hidden" name="price" value="'.$pro_price.'">';
|
92
99
|
print '<br />';
|
93
100
|
print '<input type="button" onclick="history.back()" value="戻る">';
|
101
|
+
|
94
102
|
print '<input type="submit" value="OK">';
|
95
103
|
print '</form>';
|
96
104
|
}
|
@@ -113,19 +121,21 @@
|
|
113
121
|
|
114
122
|
try
|
115
123
|
{
|
124
|
+
var_dump(1);
|
125
|
+
//exit();
|
126
|
+
$pro_name=$_POST['name'];
|
127
|
+
$pro_price=$_POST['price'];
|
116
128
|
|
117
|
-
$pro_name = $_POST['name'];
|
118
|
-
$pro_name
|
129
|
+
$pro_name=htmlspecialchars($pro_name);
|
130
|
+
$pro_price=htmlspecialchars($pro_price);
|
119
131
|
|
120
|
-
$pro_name = htmlspecialchars($pro_name,ENT_QUOTES,'UTF-8');
|
121
|
-
$pro_price = htmlspecialchars($pro_price,ENT_QUOTES,'UTF-8');
|
122
|
-
|
123
132
|
$dsn='mysql:dbname=shop;host=localhost;charset=utf8';
|
124
133
|
$user='root';
|
125
134
|
$password='';
|
126
135
|
$dbh=new PDO($dsn,$user,$password);
|
127
136
|
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
|
128
|
-
|
137
|
+
var_dump(2);
|
138
|
+
exit();
|
129
139
|
$sql='INSERT INTO mst_product(name,price) VALUES (?,?)';
|
130
140
|
$stmt=$dbh->prepare($sql);
|
131
141
|
$data[]=$pro_name;
|
@@ -137,8 +147,9 @@
|
|
137
147
|
print $pro_name;
|
138
148
|
print 'を追加しました。<br />';
|
139
149
|
|
150
|
+
|
140
151
|
}
|
141
|
-
catch(Exception$e)
|
152
|
+
catch(Exception $e)
|
142
153
|
{
|
143
154
|
print'ただいま障害により大変ご迷惑をお掛けしております。';
|
144
155
|
exit();
|