前提・実現したいこと
PHP初心者です。「気づけば プロ並みPHP改訂版」のP.115のにんじんを追加したいのですが、追加することが出来なくて困っています。初めての投稿ですので、もし追加情報が無いと、回答が出来ないのであれば適宜追加いたします。恐れ入りますが、ご教示の程よろしくお願いいたします。
発生している問題・エラーメッセージ
「ただいま障害により大変ご迷惑をお掛けしております」と返って、にんじんが追加出来ない状態です。
念のため下記にて、商品の追加画面(pro_add.php)追加した商品の入力チェック画面(pro_add_check.php)商品をデータベースに追加する画面(pro_add_done.php)つのコードを記します。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ろくまる農園</title> </head> <body> 商品追加<br/> <br/> <form method="post" action="pro_add_check.php"> 商品名を入力してください。<br/> <input type="text" name="name" style="width:200px"><br/> 価格を入力してください。<br/> <input type="text" name="price" style="width:50px"><br/> <br/> <input type="button" onclick="history.back()" value="戻る"> <input type="submit" value="OK"> </form> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ろくまる農園</title> </head> <body> <?php $pro_name=$_POST['name']; $pro_price=$_POST['price']; $pro_name=htmlspecialchars($pro_name,ENT_QUOTES,'UTF-8'); $pro_price=htmlspecialchars($pro_price,ENT_QUOTES,'UTF-8'); if($pro_name=='') { print'商品名が入力されていません。<br/>'; } else { print'商品名:'; print$pro_name; print'<br/>'; } if(preg_match('/\A[0-9]+\z/',$pro_price)==0) { print'価格をきちんと入力してください。<br/>'; } else { print'価格:'; print$pro_price; print'円<br/>'; } if($pro_name==''||preg_match('/\A[0-9]+\z/',$pro_price)==0) { print'<form>'; print'<input type="button" onclick="history.back()" value="戻る">'; print'</form>'; } else { print'上記の商品を追加します。<br/>'; print'<form method="post" action="pro_add_done.php">'; print'<input type="hidden" name="name" value="'.$pro_name.'">'; print'<input type="hidden" name="price" value="'.$pro_price.'">'; print'<br/>'; print'<input type="button" onclick="history.back()" value="戻る">'; print'<input type="submit" value="OK">'; print'</form>'; } ?> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ろくまる農園</title> </head> <body> <?php try { $pro_name=$_POST['name']; $pro_price=$_POST['price']; $pro_name=htmlspecialchars($pro_name,ENT_QUOTES,'UTF-8'); $pro_price=htmlspecialchars($pro_price,ENT_QUOTES,'UTF-8'); $dsn='mysql:dbname=shop;host=localhost;charset=utf8'; $user='root'; $password=''; $dbh=new PDO($dsn,$user,$password); $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql='INSERT INTO mst_product(name,price) VALUES (?,?)'; $stmt=$dbh->prepare($sql); $data[]=$pro_name; $data[]=$pro_price; $stmt->execute($data); $dbh=null; print $pro_name; print 'を追加しました。<br/>'; } catch(Exception $e) { print'ただいま障害により大変ご迷惑をお掛けしております。'; exit(); } ?> <a href="pro_list.php">戻る</a> </body> </html>
試したこと
¥から\に変更しました。
補足情報(FW/ツールのバージョンなど)
使用しているPCは、Macbookproです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/12/31 12:18
2019/12/31 12:21
退会済みユーザー
2019/12/31 12:33
2019/12/31 12:50
退会済みユーザー
2019/12/31 12:58
2019/12/31 13:03
退会済みユーザー
2019/12/31 13:09
2019/12/31 13:13 編集
退会済みユーザー
2019/12/31 13:14
2019/12/31 13:16
2020/01/01 03:06
退会済みユーザー
2020/01/01 03:21
2020/01/01 07:45
2020/01/01 08:54
2020/01/01 08:55
2020/01/01 08:59
退会済みユーザー
2020/01/01 09:05
2020/01/01 09:11
2020/01/01 09:18
退会済みユーザー
2020/01/01 09:24
2020/01/02 21:41