如果id与php中的会话ID无关,如何重定向页面

时间:2018-03-30 17:01:16

标签: javascript php jquery html

我正在开展度假套餐管理项目,旅行社正在注册并从仪表板提交他们的套餐。我在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);

1 个答案:

答案 0 :(得分:1)

<击> 你可以使用:

$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,

然后重定向到其他地方