一个很简单的HTML页面,我将其分为header.inc.php 和 footer.inc.php,然后将两个文件include_once到index.php里,然后显示出来页面总是错乱,查看源代码黏贴到ultraedit里,发现页面最前面多了一个问号,导致页面错版,请问这怎么解决?index.php代码<?phpinclude_once "../config.php";include_once OAKYE_ROOT."./include/header.inc.php";
?><p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p> 
<?php
include_once OAKYE_ROOT."./include/footer.inc.php";
?>
config.php里就写了一句:
define('OAKYE_ROOT', dirname(__FILE__));最后显示出来的源码:
?<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">前面有个问号

解决方案 »

  1.   

    文件保存的格式有问题,用UTF-8保存
      

  2.   


    我特意用ultraedit保存文件为UTF-8的,但是还是不行,奇怪了
      

  3.   


    里面是:<!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 href="/content/html.css" rel="stylesheet" type="text/css">
    <link href="/content/site.css" rel="stylesheet" type="text/css">
    <link href="/content/signin.css" rel="stylesheet" type="text/css">
    </head><body><div class="header">
      

  4.   

    include进来的文件,有没有输出呢,能不包括,先不包括,一个一个试
      

  5.   

    define('OAKYE_ROOT', dirname(__FILE__));输出下它看看
      

  6.   


    我做了两个文件,一个是包含的,一个是静态的HTML代码都在一个文件里的,然后浏览显示,一个是正常的一个是乱的,然后我将两个浏览结果的源码进行比较,完全一样,就乱的那个,在页面最顶头多了一个问号,就奇怪了,哪儿多出来的
      

  7.   

    搞不好你的config.php是这样的<?php?>?
      

  8.   


    输出的是:D:\xampp\htdocs\od\zheng,是我文件所在的目录,这个正确
      

  9.   


    看了下,config.php里是:<?phpdefine('OAKYE_ROOT', dirname(__FILE__));
    //服务器名或服务器ip
    $configuration_db[dbhost]="localhost";
    //数据库用户与密码
    $configuration_db[dbuser]="root";
    $configuration_db[dbpw]="";
    //数据库名
    $configuration_db[dbname]="oakye";
    //是否持久连接
    $configuration_db[usepconnect]=0;
    //数据库表名前缀
    $configuration_db[db_prefix]="oy_";
    //数据库字符集
    $configuration_db[dbcharset]="utf8";
    //是否调试
    $configuration_db[debug] = 1;?>
      

  10.   


    把这些数组下标全部用引号引起来,再试试例如
    $configuration_db["debug"] ……
      

  11.   

    乱码,把这几个文件都用同一个编码保存,跟include×没有关系
      

  12.   

    把config.php最后的?>去掉看看。
      

  13.   

    先将config.php中的注释汉字全去掉,如果依然存在‘?’那么就将里面所有的东起清除,一步一步审查,看看到底是哪里错了
      

  14.   


    config.php里就留了一个<?php
    define('OAKYE_ROOT', dirname(__FILE__));
    ?>还是有问题
      

  15.   

    现在干脆把CONFIG.PHP给取消了,不用了,index.php里写的是:<?php
    include_once "../include/header.inc.php";
    ?>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <?php
    include_once "../include/footer.inc.php";
    ?>还是错版
      

  16.   

    header.inc.php 里也精简为<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="/content/html.css" rel="stylesheet" type="text/css">
    <link href="/content/site.css" rel="stylesheet" type="text/css">
    <link href="/content/signin.css" rel="stylesheet" type="text/css">
    </head><body>
    <div class="header">  
    </div>header是一个背景图片,应该不会影响到什么
      

  17.   

    你的文件是否为utf-8无bom头的?
      

  18.   

    这有没有可能是和PHP的配置什么地方有关系?
      

  19.   


    BOM是什么?没明白我文件都是新创建的空文件,在保存的时候,特别选择了格式为UTF-8
      

  20.   

    都有人说了可能是bom头的原因了  你确认一下嘛
      

  21.   

    都有人说了可能是bom头的原因了  你确认一下嘛
      

  22.   


    bom是什么,刚开始学PHP不久,不是很懂,麻烦指点下
      

  23.   

    bom是什么,刚开始学PHP不久,不是很懂,麻烦指点下===========================================
    文件另存为,utf-8格式,有选项,无bom,就选上
    如果windows下记事本,另存为utf-8格式就行
      

  24.   

    我擦,好了,还真就是utf-8 no bom的问题,我擦,太感谢各位了,要是我自己琢磨也肯定不会有结果。