这是它的工作原理。如果用户单击链接以列出产品,则他们将被定向到产品页面。为了安全起见,我在开头设置了一些东西以确保设置"cid"或"sid"。我确信用户会转到带有 cid 或 sid 链接的页面,因为当我在浏览器中将鼠标悬停在它上面时,它会说出来。这是代码
<?php require("includes/header.php"); ?>
<?php
if(!isset($_GET['cid'])||!isset($_GET['sid'])) {
header("Location: index.php");
}
不幸的是,用户仍然被引导。如有必要,我将发布更多代码。
您的代码要求同时定义$_GET['cid']
和$_GET['sid']
,而不是其中一个定义。将||
替换为符合您状况的&&
。
它应该是:
if (!(isset($_GET["sid"]) || isset($_GET["cid"])))
在您的情况下,假设一个 url 带有 ?sid=foo
:
-
!isset($_GET["sid"])
计算结果为 false -
!isset($_GET["cid"])
计算结果为 true -
true || false
计算结果为 true,因此用户被重定向
将运算符更改为 &&。喜欢这个
If(!isset($_GET... && !isset($_GET...)