如何使某些网址不起作用(即使网页存在)

时间:2016-03-09 14:30:57

标签: php

例如,我有一个名为profile_page.php的页面。只有在URL中?u=之后写入数据时,此页面才有效,例如,只有当URL显示http://localhost/profile_page/alice时才能看到Alice的配置文件页面的数据。

加载http://localhost/profile_page会给我未定义的变量错误,因为我的大多数变量都取决于在?u=之后有值的网址。例如,只有在我在网址中获取用户名时才能收集变量$firstname

在这种情况下,当http://localhost/profile_page时,我宁愿让用户将其重定向到他们自己的profile_page,但我不知道如何测试该网址并通过它解析一个if语句。

我了解您可以使用$u=$_GET['u'];获取当前网页网址?但我不认为这样做是最好的方法:

$u=$_GET['u'];
if ($u == "http://localhost/profile_page/"){
// redirect to logged in users page code here
}

1 个答案:

答案 0 :(得分:0)

首先,如果您要使用某个参数来构建页面,则网址看起来像httlp://localhost/profile_page.php?firstname=alice&lastname=brown$_GET['firstname']在这种情况下您将获得alice。如果要测试参数是否先设置并重定向到另一个页面(如果未设置),则可以使用

if(!isset($_GET['firstname'])
{
   header('Location:redirected_page.php');
}