嘿我想拥有一个像www.example.com这样的页面,它适用于同一首页上的公共用户和经过身份验证的用户,就像facebook的首页一样,对于公众和公众来说效果很好用户。所以我的问题应该怎么做,我的意思是我可以在头版上做这样的事情,例如
<div id="user_content">...</div>
<div id="public_content">...</div>
并让它们显示“没有”#39;或者&#39;阻止&#39;如果$ _SESSION []已设置或现在,那么在这种情况下我的潜在用户的内容仍然可以在源代码中看到,我想将其隐藏起来直到他们注册,我应该如何使其工作? / p>
任何建议或帮助都将受到高度赞赏。谢谢。
答案 0 :(得分:1)
您可以检查您的用户是否已登录,如果是,则显示不同的内容。假设您的登录用户具有userid会话变量,它将如下所示:
<?php if ( isset( $_SESSION['userid'] ) ) : ?>
<div>
<!-- user content -->
</div>
<?php else : ?>
<div>
<!-- public content -->
</div>
<?php endif; ?>
我不建议使用display:none;为了隐藏公众的用户内容,任何人都可以只检查页面以访问受保护的内容。
答案 1 :(得分:1)
也许最好让PHP显示不同的内容,具体取决于他们是否已登录,而不是在两个实例中将内容发送到浏览器。
if($_SESSION['authenticated']){
echo "
This is the content an authenticated user would see.
";
}
else{
echo "
This is the content a regular visitor would see.
";
}
您只需要了解如何对用户进行身份验证......如果没有更多信息,很难知道最佳建议。
答案 2 :(得分:0)
您可以尝试使用模板化if语法,根据用户是否存在会话来发送不同的HTML:
<?php if(isset($_SESSION[])): ?>
<html>
...
<div id="loggedIn">Logged in users see this</div>
...
</html>
<?php else: ?>
<html>
...
<div id="notLoggedIn">Not logged in users see this</div>
...
</html>
<?php endif; ?>
使用PHP在服务器端处理此方法,并避免在客户端显示HTML的问题(使用display:none
)。