2012-08-16 45 views
0

我正在设计一个网站,它将有用户。根据SESSION,主页将显示“登录”或“注销”按钮。我尝试用下面的代码来做到这一点:?PHP代码中的CSS在IE9中弄乱了布局

<?php 
session_start(); 
if(isset($_SESSION['user'])) { 

?> 
<style> 

    #login {display: none;} 
    #logout {display: block;} 

</style> 
<? 

} else { 

?> 
<style> 

    #logout {display: none;} 
    #login {display: block;} 

</style> 
<? 

} 

>

一切正常,除了IE9所有浏览器完美;在IE布局混乱,图像不显示,其大小改变等。我可以使用什么其他代码?我可以使用任何建议,甚至可以使用JavaScript。

在此先感谢。

+7

为什么不把这个条件应用到html而不是css – 2012-08-16 03:56:56

+1

而是,为什么不把实际的HTML元素包装在if语句中呢? – Jeemusu 2012-08-16 03:57:01

+0

以怪癖模式显示吗?如果是这样,那是因为在声明HTML文档类型之前你已经输出了。 – 2012-08-16 03:58:36

回答

0

感谢上述评论,我通过在'html'标签(特别是在'body'标签内)复制上述代码(session_start()除外)解决了上述问题。之前,该代码位于文件的开头,位于'html'标签之外。

+0

所以从一个无效的位置到一个有效的 - 没有惊讶的工作:-) – 2012-08-16 04:27:30

+0

该死的无知:)。我仍在学习。 – 2012-08-16 04:33:41