2011-09-16 33 views
1

我正在制作一个页面,如下所示,左侧会显示一个菜单。在菜单中会有链接home,page1,page2,page3和pageProtected。当我点击任何页面时,此菜单将保持不变。只有右侧页面的内容会发生变化。对于使用php调用的页面使用.htaccess包括

我做每一页的文件“left.php”和内容“page1Content.php”等

当我点击第一页上,它需要我page1.php中,其中包括left.php和page1Content.php。

Html code... 
<?php include("left.php")?> 
more html code... 
<?php include("page1Content.php")?> 

所以在每个文件中,只有第二个包含的文件发生了变化。所有页面的html代码都是相同的。但我有一个受保护的页面,需要登录窗口。它被称为“pageProtected.php”。事情是我想保留这个文件在主文件夹中,但保留内容:“pageProtectedContent.php”在我放置.htaccess文件的文件夹中。

但是,当我这样做时,它不会要求密码。当我把“pageProtected.php”放在这个文件夹中时,我必须改变我包含在这个文件中的“left.php”。那么我保留一个独特的“left.php”的目的是不满意的。我有什么选择?

也许这是一个非常新手的问题,但我无法在互联网上找到解决方案。注意:我不想为左侧菜单使用框架。

回答

1

.htaccess文件只能防止在浏览器中访问文件,PHP可以在htaccess保护的文件夹中包含文件,就好像它们不受保护一样。

我认为你需要做的是让pageProtectedContent.php检查cookie或使用php sessions来方便登录和认证。

如果包含并且用户未登录,它将显示登录表单,如果他们已登录,则会显示受保护的内容。

使用.htaccess的唯一方法是将受保护的页面放在受保护的文件夹中,但是随后需要更改包含语句以使用../left.php等。