例如,我有一个名为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
}
答案 0 :(得分:0)
首先,如果您要使用某个参数来构建页面,则网址看起来像httlp://localhost/profile_page.php?firstname=alice&lastname=brown
,$_GET['firstname']
在这种情况下您将获得alice
。如果要测试参数是否先设置并重定向到另一个页面(如果未设置),则可以使用
if(!isset($_GET['firstname'])
{
header('Location:redirected_page.php');
}