PHP start_session似乎禁用了css

时间:2013-07-20 18:12:54

标签: php css session

当我尝试在PHP中使用start_session时,它似乎禁用了我的级联样式表功能。我的html页面布局看起来不正常,例如菜单将位于它应该位于顶部的底部。有没有办法使用不干扰css的start_session?

以下是代码snipet:

 <?php session_start(); ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <link rel="stylesheet" type="text/css" href="mod_style.css" /> 
 </head>

4 个答案:

答案 0 :(得分:1)

我没有回忆过PHP会话干扰加载样式表或任何其他非PHP会话相关的代码。您是否检查过CSS文件的路径是否正确?

您可以快速打开页面的来源(通常是Windows上的浏览器中的CTRL + U)并尝试按照指向CSS文件的链接。如果您收到404错误页面,则无需更改路径。

如果您的路径正确(例如,如果在删除PHP会话行后加载样式表),那么您的错误不是由您发布的代码引起的。

答案 1 :(得分:0)

检查代码编辑器的输出保存文件编码。例如,如果您使用MS记事本并以Unicode格式保存文件,则可能会在文件的第一行中发现一个特殊字符,该字符会导致session_start出现错误和错误。

要确保,请从浏览器中检查您的网页来源。

  

我所说的是将文件保存为ANSI vs UTF-8而不使用BOM

答案 2 :(得分:0)

如果您确认您的样式表实际上是通过开发人员工具(例如firebug或chrome dev工具)加载的,那么您正在旧的IE中进行测试。 session_start调用结束时的换行符可能是罪魁祸首。非doctype第一行会将这些浏览器抛入怪癖模式,你的风格会变得很糟糕。

要消除这种情况,您只需删除换行符,如:

<?php session_start(); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

答案 3 :(得分:-1)

给出style.css的完整路径而不是相对路径,如下所示:

  <link rel="stylesheet" type="text/css" href="http://www.example.com/css/mod_style.css" /> 

试试这个,我相信这会对你有帮助。