我构建我的网页:
<?php
include ('header.html');
?>
<p> bla bla bla </p>
<?php
include ('footer.html');
?>
我在header.html中使用session来跟踪用户记录。 header.html有三个标签,左边是logo,中间是search_form,右边是登录/注册按钮
现在,问题是我想在header.html文件中使用php隐藏search_form DIV,如果互联网用户(非注册会员)访问某个页面,例如register.php ,因为这个DIV不是必需的。
注意:我想使用PHP控制它,但不是javascript或其他任何东西。
请帮帮我吗?
由于
答案 0 :(得分:0)
将您的header.html
页面更改为header.php
。
header.php
中的检查当前用户是否为注册用户,然后显示搜索div或 通过浏览器网址查看当前页面,并决定是否要显示搜索div。
您可以使用会话获取header.php
示例代码:
的header.php
session_start();
if(isset($_SESSION['current_user'])){ //check register user
// show div
}
else {
$page= $_REQUEST['current_url']; // get current page
if($page == 'register.php' || $page == 'whatever' ){ //check pages where you are not show search page
echo '';
}
else {
//show div
}
}
答案 1 :(得分:0)
您可以使用$ _SERVER [&#39; REQUEST_URI&#39;]来检查当前网址是否为,例如&quot; register.php&#39;。类似的东西:
<? php
if ($_SERVER['REQUEST_URI'] == 'mysite.com/register.php'):
include ('register_form.php');
?>
当然,这只有在url完全匹配时才有效,查询字符串会破坏它。但是你得到了一般的想法。
了解如何使用PHP创建会话和用户身份验证。
答案 2 :(得分:0)
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
</head>
<body>
<?php
session_start();
$_SESSION['view'] = $_SERVER['REQUEST_URI'];
if(isset($_SESSION['view']) && $_SESSION['view'] == '/test/index.php') {
?>
<div>head</div>
<?php } ?>
body here
<div>footer</div>
</body>
</html>
这是我的示例工作,这是正常的。如果我的url不等于/test/index.php则不显示头部。您可以根据此演示工作设置自己的逻辑。我认为它可以帮助你。
答案 3 :(得分:0)
我尝试过并尝试过找到解决方案。现在,我可以和你们分享一下:
if( (isset($_SESSION['current_user'])) || (basename($_SERVER['PHP_SELF']) != 'register.php') ){
// show the search_form DIV
}
感谢您的贡献!