前提・実現したいこと
ユーザーが飲食店からの入店可否情報をを見て予約できる会員制のシステムを作っています。
ユーザーがログイン後に飲食店一覧から飲食店の情報ページ(user_shopinfo.php)へ飛んだあと、下記のようなエラーが出ました。
この状態のエラーが初めてだったので、意味がわからず修正できなくなってしまいました。
発生している問題・エラーメッセージ
Notice: Undefined index: in C:\xampp\htdocs\user_shopinfo.php on line 86 Notice: Undefined index: in C:\xampp\htdocs\user_shopinfo.php on line 87
user_shopinfo.php <?php error_reporting(E_ALL); ini_set("display_errors",1); session_start(); try { $pdo = new PDO('mysql:host=localhost;dbname=reserve;charset=utf8','root','', array(PDO::ATTR_EMULATE_PREPARES => false)); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); if(!isset($_SESSION['user'])) { header("Location: user_index.php"); } // 渡されたidを受け取る $shop_id = filter_input(INPUT_GET, 'shop_id', FILTER_SANITIZE_SPECIAL_CHARS); // 受け取ったidからレコード取得sqlを生成 $shop_query = "select * from shop where shop_id = ".$shop_id; // ①ユーザーIDからユーザー名を取り出す $query = "SELECT * FROM users WHERE user_id=".$_SESSION['user'].""; $result = $pdo->query($query); if (!$result) { print('ユーザー側クエリーが失敗しました。' . $pdo->error); $pdo->close(); exit(); } // ユーザー情報の取り出し while ($row = $result->fetch(PDO::FETCH_ASSOC)) { $user_name = $row['user_name']; } // ②shopIDからshop名を取り出す $shop_query = "SELECT * FROM shop where yesno in(1,2)"; $shop_result = $pdo->query($shop_query); if (!$shop_result) { print('店側クエリーが失敗しました。' . $pdo->error); $pdo->close(); exit(); } // ユーザー情報の取り出し while ($row = $shop_result->fetch(PDO::FETCH_ASSOC)) { $shop_id = $row['shop_id']; $shop_name = $row['shop_name']; $yesno = $row['yesno']; $shop_comment = $row['shop_comment']; $rows[]=$shop_row; ←追加 } } catch (PDOException $e) { var_dump($e); die(); } ?> <!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>PHPの店舗情報</title> <link rel="stylesheet" href="style.css"> <!-- Bootstrap読み込み(スタイリングのため) --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css"> </head> <body> <div class="col-xs-8 col-xs-offset-2" style="text-align:center;"> <div class="header-right"> <p><?php echo $user_name; ?>ログイン中</p> <a href="user_logout.php?user_logout">ログアウト</a> </div> <div class="main"> <p><?= $rows['shop_name'];?></p> ←$rowsに変更 <h4>入店の可否</h4> <p><?php $pt = $rows[0]['yesno']; ←変更 $col = [1 => "black", 2 => "red"]; $tx = [1 => "〇", 2 => "✖"]; echo "<font color='".$col[$pt]."'>"; ←ここのエラー echo $tx[$pt]; ←ここのエラー echo "</font>"; ?></p> <p>コメント:<?= $rows['shop_comment'];?></p> ←$rowsに変更 <a href="user_reserve_form.php?shop_id=<?= $rows['shop_id'];?>">予約する</a> ←$rowsに変更 </div> </div> </body> </html>
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答4件
あなたの回答
tips
プレビュー