前提・実現したいこと
PHPでDB経由で商品追加するプログラムを作成したい。
発生している問題・エラーメッセージ
ブラウザを開くたびに空のテーブルが追加されてしまう。
商品名と価格を入力し、追加ボタンで追加する実装方法がわからない。
同時にメッセージの追加方法がわからない。
該当のソースコード
PHP ソースコード <?php $goods_name = ''; $goods = ''; if(isset($_POST['goods']) === TRUE){ $goods = $_POST['goods']; } $price = 0; if(isset($_POST['price']) === TRUE){ $price = $_POST['price']; } $goods_data = array(); $host = 'localhost'; $username = 'codecamp46846'; $passwd = 'codecamp46846'; $dbname = 'codecamp46846'; $link = mysqli_connect($host, $username, $passwd, $dbname); if ($link) { mysqli_set_charset($link, 'utf8'); $query = 'INSERT INTO goods_table(goods_name, price) VALUES(\'' . $goods . '\',' . $price . ')'; mysqli_query($link, $query); $query2 = 'SELECT goods_name, price FROM goods_table'; $result = mysqli_query($link, $query2); while ($row = mysqli_fetch_array($result)) { $goods_data[] = $row; } mysqli_free_result($result); mysqli_close($link); } else { print 'DB接続失敗'; } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>課題</title> <style type="text/css"> table, td, th { border: solid black 1px; } table { width: 350px; margin-top: 10px; } caption { text-align: left; } </style> </head> <body> <h1>追加したい商品の名前と価格を入力してください</h1> <form method="post"> 商品名:<input type="text" name="goods"> 価格:<input type="text" name="price"> <input type="button" value="追加"> </select> </form> <table> <tr> <th>商品名</th> <th>価格</th> </tr> <?php foreach($goods_data as $value){ ?> <tr> <td><?php print htmlspecialchars($value['goods_name'],ENT_QUOTES,'UTF-8');?></td> <td><?php print htmlspecialchars($value['price'],ENT_QUOTES,'UTF-8');?></td> </tr> <?php } ?> </table> </body> </html>
試したこと
講師の人にも聞きながらやっておりましたが、レスの返答が遅いのでこちらで質問した次第です。
補足情報(FW/ツールのバージョンなど)
Cloud9
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/06/03 02:29
2021/06/03 02:38