在 php 的下一页中传递当前 ID
Pass current id in the next page in php
我正在开发一个餐厅菜单系统,其中有一个 menu.A 菜单有很多类别,每个类别在 it.Now 中有多个项目 我已经创建了类别的创建、显示功能和该项目的显示功能,但我坚持使用该项目的创建功能,因为我需要类别的 ID 才能在该特定项中插入项目 id.This 是我用于在类别中显示项目的代码。
<!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 -->
此文件获取类别的 "id" 并显示其中属于该特定 category.Now 的项目 我想创建属于该特定 id.how 的项目 我应该传递 id创建页面中的类别?
您可以使用$_SESSION[]
存储与当前客户相关的所有信息。
如果客户端断开连接,或者您的网站不再活跃,Session 的数据将自动销毁一次。
在 php.ini 中有一些配置要做:会话超时,会话文件夹,垃圾收集器概率......或者你可以让默认配置
了解更多信息:http://php.net/manual/en/reserved.variables.session.php
希望对您有所帮助:)
通过使用 PHP 会话,或将 id 附加到 link,所以
<a href="create_items.php"
变成
<a href="create_items.php?cat_id=<?=$_GET['id']?>"
与问题无关,但您需要研究避免 SQL 注入攻击,例如How can I prevent SQL injection in PHP?
我正在开发一个餐厅菜单系统,其中有一个 menu.A 菜单有很多类别,每个类别在 it.Now 中有多个项目 我已经创建了类别的创建、显示功能和该项目的显示功能,但我坚持使用该项目的创建功能,因为我需要类别的 ID 才能在该特定项中插入项目 id.This 是我用于在类别中显示项目的代码。
<!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 -->
此文件获取类别的 "id" 并显示其中属于该特定 category.Now 的项目 我想创建属于该特定 id.how 的项目 我应该传递 id创建页面中的类别?
您可以使用$_SESSION[]
存储与当前客户相关的所有信息。
如果客户端断开连接,或者您的网站不再活跃,Session 的数据将自动销毁一次。
在 php.ini 中有一些配置要做:会话超时,会话文件夹,垃圾收集器概率......或者你可以让默认配置
了解更多信息:http://php.net/manual/en/reserved.variables.session.php
希望对您有所帮助:)
通过使用 PHP 会话,或将 id 附加到 link,所以
<a href="create_items.php"
变成
<a href="create_items.php?cat_id=<?=$_GET['id']?>"
与问题无关,但您需要研究避免 SQL 注入攻击,例如How can I prevent SQL injection in PHP?