如果选择了无效参数,如何显示404错误?

时间:2016-07-16 05:22:30

标签: php mysql

我们有一个产品catelog页面,显示产品信息基础数据库值

对于实例:如果产品是: - a)软玩具,模型是泰迪熊(id为10),子模型是垫子(300),nappa(301),软(302)

b)软玩具,模型是老虎(id为11),子模型介于 - 亚洲(303),非洲(304)

然后我们通过网址显示信息 - 正确的方案

www.xxx.com/index.php?option=com_toys&view=product&id=10&sid=300 - Teddy bear cushion

www.xxx.com/index.php?option=com_toys&view=product&id=10&sid=301 - Teddy bear nappa

www.xxx.com/index.php?option=com_toys&view=product&id=10&sid=302 - Teddy bear soft

www.xxx.com/index.php?option=com_toys&view=product&id=11&sid=303 - Tiger Asian

www.xxx.com/index.php?option=com_toys&view=product&id=11&sid=304 - Tiger African

但是 - 什么也看到该页面使用错误产品的不同子模型的错误参数显示

例如

www.xxx.com/index.php?option=com_toys&view=product&id=10&sid=304 - 

它显示错误的信息,如泰迪熊非洲

www.xxx.com/index.php?option=com_toys&view=product&id=11&sid=300 - 它显示错误的信息,如Tiger Cushion

其中实际上它的错误,因为这样的产品页面永远不存在(由于与产品ID匹配的sid不正确) - 但是由于url显示了

如果id和sid不匹配,如何通过数据库输入404错误?

1 个答案:

答案 0 :(得分:0)

你在找这样的东西吗?

$validOptions = getCategoryProducts($id);

if (!in_array($sid, $validOptions){
    header('HTTP/1.0 404 Not Found');
    echo "<h1>Product Not Found</h1>";
    echo "The product that you have requested could not be found.";
    exit();
}