我正在开发一个餐厅菜单系统,其中有一个菜单。菜单有很多类别,每个类别都有多个项目。现在我已经创建了类别的创建,显示功能和项目的显示功能但我仍然坚持项目的创建功能,因为我需要类别的ID在该特定id中插入项目。这是我在一个类别中显示项目的代码。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<div class="row">
<h3>Category Items</h3>
</div>
<div class="row">
<p> <a href="create_items.php" class="btn btn-success">Create</a> </p>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Description</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<?php
require 'database.php';
$id = null;
if ( !empty($_GET['id'])) {
$id = $_REQUEST['id'];
}
if ( null==$id ) {
header("Location: index.php");
} else {
$pdo = Database::connect();
$sql = "SELECT * FROM Items where I_C_id = '" . $id . "'";
$result = $pdo->query($sql);
foreach ($pdo->query($sql) as $row) {
echo '<tr>';
echo '<td>'. $row['I_id'] . '</td>';
echo '<td>'. $row['I_name'] . '</td>';
echo '<td>'. $row['I_desc'] . '</td>';
echo '<td>'. $row['I_price'] . '</td>';
echo '</tr>';
}
}
Database::disconnect();
?>
</tbody>
</table>
</div>
</div> <!-- /container -->
此文件获取&#34; id&#34;该类别并显示该特定类别的项目。现在我想创建该特定id的项目。我应该在创建页面中传递该类别的ID吗?
答案 0 :(得分:1)
您可以使用$_SESSION[]
存储与当前客户相关的所有信息
如果客户端断开连接,或者您的网站不再活动,会话数据将自动销毁一次
在php.ini中有一些配置要做:会话超时,会话文件夹,垃圾收集器概率......或者你可以让默认配置
了解更多信息:http://php.net/manual/en/reserved.variables.session.php
希望有所帮助:)
答案 1 :(得分:0)
通过使用PHP会话,或通过将id附加到链接,所以
<a href="create_items.php"
变为
<a href="create_items.php?cat_id=<?=$_GET['id']?>"
与此问题无关,但您希望考虑避免SQL注入攻击,例如: How can I prevent SQL injection in PHP?