Warning: Cannot modify header information - headers already sent by (output started at E:\AppServ\www\php_cs_wenjian\yingp\qbzy.php:23) in E:\AppServ\www\php_cs_wenjian\yingp\includes\hanshu.php on line 333这个问题以前遇过解决了用的是排除一点点的搞!这次代码很好找不出问题而且关系到很多函数所以想请教大手们给个方法!听说缓存技术可以解决!谁知道吗?我没用过缓存、标头缓存

解决方案 »

  1.   

    代码中两次调用了 设置header的 函数,两次调用很可能都是header()
      

  2.   

    我只是写一个简单的判断类然后生成cookie!
      

  3.   

    文件前有没有输出?
    还有一个可能。BOM头
      

  4.   

    class goow{
    public $han = "<script>window.onload = function(){boxs(1);}</script>";
    function cshu($czhi){
    echo $this->han;
    $this->scuo = "<dt style='margin-top:0px; height:20px; text-align:center;color:#f00; font-size:12px;'>$czhi</dt>";
    }
    }
    class goow_cd extends goow{
    private $_char_pattern = '/[<>\|\'\$\"\ ]/';
    function d($user,$pass){
    if ($user == ''){
    $this->cshu('用户名不得为空');
    return false;
    }
    $this->user = $user;
    if ($pass == ''){
    $this->cshu('密码不得为空');
    return false;
    }
    if (10 < mb_strlen($user,utf8) or mb_strlen($user,utf8)< 2){
    $this->cshu('用户名不得少于2位或大于10位');
    return false;
    }
    if (preg_match($this->_char_pattern,$user)) {
    $this->cshu('用户名不得包含敏感字符');
    return false;
    }
    if (16 < mb_strlen($pass,utf8) or mb_strlen($pass,utf8)< 6){
    $this->cshu('密码不得少于6位或大于10位');
    return false;
    }
    $pass = sha1(md5($pass));
    $this->pass = $pass;
    if (!my_shuz("select user from user where user = '$user' LIMIT 1")){
    $this->cshu('没有此用户');
    return false;
    }
    if (!my_shuz("select pass from user where pass = '$pass' LIMIT 1")){
    $this->cshu('用户或密码错误');
    return false;
    }
    if (!my_shuz("select zyuip from user where zyuip = '' and user = '$user' LIMIT 1")){
    $this->cshu('该帐号还未激活');
    return false;
    }
    setcookie("UserName",$user);
    }
    }
    这是类
    <?
    session_start();
    define('IN_TG',true);
    require substr(dirname(__FILE__),0,-6).'/yingp/includes/hanshu.php';
    if ($_GET['shouid'] != ''){
    q_mysql();
    $p_xiangx = pduan_f("select * from product where p_id = '{$_GET['shouid']}'",'没有此商品');
    }else{
    tangc('没有此类商品');
    }
    $p_zp = array_filter(split(',',$p_xiangx['p_zp']));
    $p_dx = array_filter(split(',',$p_xiangx['p_dx']));
    $p_zps = count($p_zp);
    echo "<script src='js/goow.js' language='javascript' type='text/javascript'></script>";
    if ($_GET['shul'] != '' && $_GET['hm'] != ''){
    if($_POST['d_tj'] != ''){
    $user = trim($_POST['user']);
    $pass = trim($_POST['pass']);
    $czhi = new goow_cd();
    $czhi->d($user,$pass);
     }else{
     tangc('非法提交!');
     }
    }
    ?>
    这个是我调用页面的头部php
      

  5.   

    以前输出cookie的时候就没问题!应该就是这两句代码的问题!