标头 缓存 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
这个问题以前遇过解决了用的是排除一点点的搞!这次代码很好找不出问题而且关系到很多函数所以想请教大手们给个方法!听说缓存技术可以解决!谁知道吗?我没用过缓存、
回复讨论(解决方案)
代码中两次调用了 设置header的 函数,两次调用很可能都是header()
代码中两次调用了 设置header的 函数,两次调用很可能都是header()
我只是写一个简单的判断类然后生成cookie!
是否之前有输出,比如空行。文件编码是否一致。
文件前有没有输出?
还有一个可能。BOM头
是否之前有输出,比如空行。文件编码是否一致。
是输出到浏览器还是怎么输出、我把判断放在函数集里面的、然后调用函数集到用的页面上、还用那个空行是什么意思?
具体还是要你贴出代码。
具体还是要你贴出代码。
这个又两个函数页面一个数据库页面一个出问题的页面!四个页面的代码有七八百行怎么贴啊
具体还是要你贴出代码。
class goow{
public $han = "";
function cshu($czhi){
echo $this->han;
$this->scuo = "
$czhi";
}
}
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 "";
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
具体还是要你贴出代码。
以前输出cookie的时候就没问题!应该就是这两句代码的问题!