PHP:访问者访问某个页面时隐藏/显示元素

时间:2014-04-20 08:44:55

标签: php

我构建我的网页:

<?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或其他任何东西。

请帮帮我吗?

由于

4 个答案:

答案 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 

} 

感谢您的贡献!