日期:2014-05-17  浏览次数:20566 次

header()和session_start()前面不能有任何输出是什么意思
这个是common.php里的一个函数:[code=PHP][/code]function checkUservalidate(){
session_start();
if(empty($_SESSION['loginuser'])){
  header("Location:login.php?errno=1");
 }
}[/code]
PHP code


<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script type="text/javascript">
<!--
     function confirmDel(val){
        return window.confirm("是否要删除id="+val+"的用户");
     }
//--->
</script>
</head>
<?php
require_once 'common.php';
checkUservalidate();
require_once 'empservice.class.php';
require_once 'fenyepage.php';



为什么require_once 'common.php';
checkUservalidate();不是已经放在php代码的最前头了吗 ,前面不是没有任何输出了?为什么出错?
一定在html标记前面例外写一段代码包含这两句话吗

------解决方案--------------------
<?php 这前面的HTML代码就算是输出了。
放在前面的最终目的还是防止提前输出。
------解决方案--------------------
去了解一下http协议吧
------解决方案--------------------
缓存溢出