在php的下一页中传递当前id

时间:2015-01-02 12:10:05

标签: php mysql

我正在开发一个餐厅菜单系统,其中有一个菜单。菜单有很多类别,每个类别都有多个项目。现在我已经创建了类别的创建,显示功能和项目的显示功能但我仍然坚持项目的创建功能,因为我需要类别的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吗?

2 个答案:

答案 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?