提示コードのA.php
の下部のコードのコメント部のコードでB.php
の画面に飛ぶのですがB.php
のコメント部のコードで以下のエラーが出ます。これはが原因なのでしょうか?
調べたこと
タイプミスを確認
<、> 不足 button等のスペルミス
Notice: Undefined index: price in /opt/lampp/htdocs/staff/pro_add_done.php on line 17 ただいま障害により大変ご迷惑をおかけしております。
A.php
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Yashy農園</title> </head> <body> <?php $pro_name = $_POST['name']; $pro_price = $_POST['price']; $pro_name = htmlspecialchars($pro_name,ENT_QUOTES,'UTF-8'); if($pro_name == '') { print '商品名が入力されていません。'; } else { print '商品名'; print $pro_name; print '<br/>'; } if(preg_match('/\A[0-9]+\z/',$pro_price) == 0) { print '価格をきちんと入力してください。'; } 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>
B.php
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Yashy農園</title> </head> <body> <?php try { //$post=sanitize($_POST); $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>
回答1件
あなたの回答
tips
プレビュー