【问题标题】:URL $_GET Redirect Issue [duplicate]URL $_GET 重定向问题 [重复]
【发布时间】:2015-08-03 22:47:11
【问题描述】:
所以我有一个页面singleTicket.php 从数据库中获取id 并将其作为singleTicket.php?id=someIDnumber 传递到查询字符串中。然后从数据库中获取票证ID 并加载必要的信息。很容易。如果用户编辑查询字符串 id 编号并且用户在浏览器栏中输入的 id 不存在 id ,我会重定向它...但是如果用户完全取出查询字符串并将其保留为 singleTicket.php 那么它只是有一个带有一堆警告的页面。我怎样才能防止这种情况?
视频: http://screencast.com/t/YFCZVsFwyui
注意:我的 .htaccess 中的 301 重定向不起作用。
【问题讨论】:
标签:
php
mysql
redirect
get
【解决方案1】:
您可以检查是否设置了 $_GET['id']:
if (!isset($_GET['id'])) {
// redirect or print a message.
}
【解决方案2】:
检查是否设置了$_GET['id'],如果没有重定向到您想要的任何地方。在进行任何输出之前,将其放在脚本的顶部:
isset($_GET['id']) && !empty($_GET['id']) ? $id = $_GET['id'] : header('Location // your redirect location');
作为一个很好的副作用,您还可以设置$id,您很可能会这样做。
如果你愿意,你可以重定向到 404
header("HTTP/1.0 404 Not Found");