我正在从事假期旅行包管理项目,其中旅行社正在注册并从仪表板提交他们的旅行包。我将代理数据保存在agent_register表中,并将数据打包在假期表中。当代理注册到仪表板时,我仅显示他提交的软件包。这是代码。

<?php
$agent = $session['id'];

$sql = "select * from holidays where agent_id = $agent";
$i = 1;

$res = $mysqli->query($sql);

if( mysqli_num_rows($res) > 0) {
    while($row = mysqli_fetch_array($res))
    {
    ?>

    <tr>
      <td><?php echo $i++; ?></td>
      <td><?php echo $row["pkg_title"]; ?></td>
      <td><?php echo $row["pkg_id"]; ?></td>
      <td><?php echo $row["pkg_type"]; ?></td>
      <td><?php echo $row["country"]; ?></td>
      <td><?php echo $row["nights"]; ?>N / <?php echo $row["days"]; ?>D</td>
      <td><?php echo "<a href='edit-holiday-package?id=".$row['id']."&&".$row['pkg_title']."&&".$row['pkg_theme']." ' class='icon-edit'><i class='fa fa-edit' data-toggle='tooltip' title='Edit'></i></a>
      &nbsp;&nbsp;<a href='delete-holiday-package?id=$row[id]' class='icon-delete' onclick='return confirmDelete();'><i class='fa fa-trash' data-toggle='tooltip' title='Delete'></i></a>" ?></td>
    </tr>

    <?php
    }
}
?>


如果他要编辑页面,我将显示带有假期ID的页面。网址就是这个。

edit.php?id=2


如果我将URL 2中的ID号更改为5或6,则该页面显示与该代理无关的软件包。我需要的是当我们在地址栏中手动更改ID时,页面会重定向到404或主页。请帮我。这是我的编辑页面代码。

$id = $_GET['id'];

$sql = "select * from `holidays` where `id` ='$id'";
$res = $mysqli->query($sql);
$rec = mysqli_fetch_array($res);

最佳答案

您可以使用:

$agent = $_SESSION['id'];
$id = $_GET['id'];
if ($agent != $id) {
    //redirect to somewhere else
}


代理程序登录时在何处设置$_SESSION['id']


很抱歉错过您的问题,您可以尝试以下方法:

$agent = $_SESSION['id'];
$id = $_GET['id'];
$sql = "select * from `holidays` where `id` ='$id' and `agent_id` = '$agent'";


然后如果结果为0,则重定向到其他地方

10-05 20:57
查看更多