我正在开发一个用户必须先登录的网站,然后他们才能访问他们的个人资料。但我不知道如何限制用户通过在地址栏中键入sitename.com/profile.php来直接访问配置文件页面。我碰到这个代码来了,而在Stack Overflow上搜索 这是我的login.php脚本限制访问特定页面
if(!empty($row['username']) AND !empty($row['password']))
{
$_SESSION['login'] = true;
$_SESSION['username'] = $row['username'];
echo '<script>window.location = "profile.php"</script>';
}
现在在profile.php顶部我已经把这段代码
<?php
session_start();
if (!$_SESSION['login']){
echo '<script>window.location = "index.html"</script>';
}
?>
的用户仍然可以访问通过直接输入URL来配置profile.php。我究竟做错了什么?
不要使用'回声'';'它会导致包含整个网页的浏览器往返,只是为了让浏览器从服务器请求另一个页面而忽略它,使用'header('Location: profile.php在'login.php'形式顶部的‘命令为好;');退出;' – RiggsFolly 2014-09-30 03:19:21
由于它的工作,如果我不键入时退出;到底 – 2014-09-30 03:27:01
添加了’在session_start()。一旦你开始使用会话,你必须在应用程序的EVERY页面顶部添加'session_start();'来维护会话。 – RiggsFolly 2014-09-30 03:31:29