未定義の配列キー「数量」が C:\xampp\htdocs\login\cart-item.php に表示されます
P粉549412038
2023-09-05 20:18:59
<p>チュートリアルビデオに従っていますが、データベースに出力テーブルがありません。ビデオのすべてのステップに従いました。数量を変数に初期化しようとしましたが、それでも機能しません</p>
<pre class="brush:php;toolbar:false;"><?php
セッション開始();
$connect = mysqli_connect("localhost", "root", "", "login_sample_db");
if(isset($_POST['add_to_cart'])){
if(isset($_SESSION['カート'])){
$session_array_id = array_column($_SESSION['cart'], "id");
if(!in_array($_GET['id'], $session_array_id)){
$session_array = 配列(
'id' => $_GET['id'],
"名前" => $_POST['名前'],
"価格" => $_POST['価格'],
"数量" => $_POST['数量']
);
$_SESSION['カート'][] = $session_array;
}
}それ以外{
$session_array = 配列(
'id' => $_GET['id'],
"名前" => $_POST['名前'],
"価格" => $_POST['価格'],
"数量" => $_POST['数量']
);
$_SESSION['カート'][] = $session_array;
}
}?>
<!DOCTYPE html>
<html>
<頭>
<title>製品</title>
<link rel="stylesheet" type="text/css" href="styles.css">
<link rel="stylesheet" type="text/css" href="cart-item.css">
<スタイル>
</スタイル>
</head>
<本体>
<div class="コンテナ流体">
<div class="col-md-12">
<div class="行">
<div class="col-md-6">
<h2 class="text-center">购物车数据</h2>
<div class="col-md-12">
<div class="行">
<?php
$query = "SELECT * FROM カート項目";
$result = mysqli_query($connect, $query);
while($row = mysqli_fetch_array($result)){
?>
<div class="col-md-4">
<form method="post" action="cart-item.php?id=<?= $row['id'] ?>">
<h5 class="text-center"><?= $row['name']; ?>
<h5 class="text-center">$<?=number_format($row['price'], 2); ?>
<input type="hidden" name="name" value="<?= $row['name'] ?>">
<input type="hidden" name="price" value="<?= $row['price'] ?>">
<input type="number" name="quantity" value="1" class="form-control">
<input type="submit" name="add_to_cart" class="btn btn-warning btn-block my-2" value="追加购物车">
</フォーム>
</div>
<?php
}
?>
</div>
</div>
</div>
<div class="col-md-6">
<h2 class="text-center">選択されたアイテム</h2>
<?php
$合計 = 0;
$output = "";
$output .= "
<テーブルクラス='テーブルテーブルボーダーテーブルストライプ'>
<tr>
ID |
<th>商品名</th>
<th>商品価格</th>
<th>商品数量</th>
合計価格 |
<th>オペレーション</th>
</tr>
";
if(!empty($_SESSION['カート'])){
foreach($_SESSION['cart'] as $key => $value){
$output .= "
<tr>
<td>".$value['id']."</td>
<td>".$value['name']."</td>
<td>".$value['価格']."</td>
<td>".$value['数量']."</td>
<td>$".number_format($value['価格'] * $value['数量'])."</td>
<td>
<a href='cart-item.php?action=remove&id=".$value['id']."'>
<button class='btn btn-danger btn-block'>削除</button>
</a>
</td>
</tr>
";
$total = $total $value['数量'] * $value['価格'];
}
$output .= "
<tr>
<tdcolspan='3'></td>
<合計価格 |
<td>".number_format($total, 2)."</td>
<td>
<a href='cart-item.php?action=clearall'>
<button class='btn btn-warning btn-block'>クリア</button>
</a>
</td>
</tr>
";
}エコー$output;
?>
</div>
</div>
</div>
</div>
</ボディ>
</html></pre>
<p>ビデオと同じように、数量配列キーを複数回チェックしてビデオと比較しました。他に試すべきことはありますか?データベース内のテーブルにも数量は含まれていません</p>
詳細がわかればコメントしますが、データベース スキーマとテーブル定義は正しいですか?
INSERT
/UPDATE
ロジックはどこにありますか?エラーはどこで発生し、正確には何でしたか?さらに詳しい情報を提供してください。