- 论坛徽章:
- 0
|
帮我看看这条出错信息,多谢!望高手指点!!!
原帖由 "chinaght" 发表:
在你调用header()函数之前可以有计算语句,但是不能有输出语句
输出语句一般就是指浏览器的输出
比如
echo “good”;
header();这样就不行。
我看了我的程序,在header()前没有如echo “”的输出语句阿
我的程序如下,请给我指点迷经:
<?
include "common.inc.php";
/********************************
*检查用户的昵称是否已经被注册了 *
*如果已经被注册了,就返回该昵称 *
*否则返回空 *
*********************************/
function Checknicker($nicker) {
//说明$USER_LOG_TABLE是页面全局变量
global $USER_LOG_TABLE;
//查询“昵称”的语句
$SQL="SELECT nicker FROM $USER_LOG_TABLE WHERE nicker='$nicker'";
//以下两句用来返回查询结果
$result=mysql_query($SQL) or die(mysql_error());
$row=mysql_fetch_Array($result);
//取出查询并返回
$nicker=$row[nicker];
return $nicker;
}
/********************************
*在数据库中增加一个用户 *
*并填写用户的基本信息 *
*返回用户的ID号作为其标识 *
*********************************/
function AddUser() {
global $USER_LOG_TABLE;
global $id,$REMOTE_ADDR,$nicker;
global $password, $log_count, $last_time,
$last_ip, $arc_count, $gender, $level, $righter,
$exp_count;
//最后一次的登录时间
$last_time=date("Y:m:d" ;
//总的登录次数
$log_count=0;
//最后一次登录的IP地址
$last_ip=$REMOTE_ADDR;
//发表的文章数
$arc_count=0;
//该用户的等级,9为最低级,1是最高级
$level=9;
//该用户的权限,NONE为最低权限
$righter='NONE';
//该用户的经验值,100是开始的经验点数
$exp_count=100;
//用INSERT语句添加用户到uesr_log表中
$SQL="INSERT INTO $USER_LOG_TABLE (
nicker, password,log_count,last_time,last_ip,arc_count,
gender,level,righter,exp_count) VALUES (
'$nicker', '$password', '$log_count', '$last_time',
'$last_ip', '$arc_count', '$gender', '$level', '$righter','$exp_count')";
// 取出该用户的ID号,作为标识
mysql_query($SQL) or die(mysql_error());
$SQL="SELECT log_id FROM $USER_LOG_TABLE WHERE nicker='$nicker'";
$result=mysql_query($SQL) or die(mysql_error());
$row=mysql_fetch_Array($result);
$id=$row[log_id];
}
/********************************
*对用户输入的信息进行检查 *
*如果通过就添加用户 *
*否则就返回错误信息 *
*********************************/
if ($Ok) {
// 用户的昵称必须填的
if (!$nicker) $error="用 户 名 不 能 为 空";
// 用户的昵称只能使用小写字母“a-z”,数字“0-9”,和下划线“_”
if ((!isset($error)) and (!ereg("[_0-9a-z]*",$nicker))) $error="请 使 用 小 写 字 母“a-z”,数 字 “0-9”,和 下 划 线 “_”";
//用户的昵称必须大于三位
if ((!isset($error)) and (strlen($nicker)<4)) $error="昵称的长度应大于3位";
//该昵称已被注册了
if ((!isset($error)) and (Checknicker($nicker))) $error="此 用 户 名 已 存 在";
// 请输入密码
if ((!isset($error)) and (!$password)) $error="请 输 入 您 的 密 码";
//两次输入的密码不同
if ((!isset($error)) and ($password!=$password2)) $error="两 次 输 入 的 密 码 不 同";
//如果通过检查就开始添加用户
if (!isset($error)) {
// 注册新用户
AddUser();
// 成功页面
header("Location: login_ok.php?id=$id\n" ;
} else
//否则报错
{
// 失败页面
header("Location: login_error.php?error=$error\n" ;
}
exit;
}
?>;
<?
/********************************
*下面是用户的输入表单 *
*当输入完后再次调用本程序 *
*以进行错误检查和用户的添加 *
*********************************/
include "header.inc.php";
//缺省的性别是“男”
$gender="M"
?>;
<BODY>;
<!--用户申请表的标题-->;
<TABLE width=100% border=0 align=center>;
<TR class=myBlue>;
<TD height=25 align=center>;
<FONT class=myRed>;
<?echo "用 户 申 请 表"?>;
</FONT>;
</TD>;
</TR>;
</TABLE>;
<hr color=red>;
<!--以下是用户申请的表单-->;
<FORM METHOD=" OST" ACTION="<? echo $PHP_SELF; ?>;">;
<TABLE width=80% border=1 align=center bgcolor=yellow>;
<TR class=myBlack bgcolor=green>;
<TD colspan=2 height=20 align=center>;
<FONT class=myYellow>;
请按照要求填写下列各项!
</FONT>;
</td>;
</TR>;
<!--输入昵称-->;
<TR class=myBlack>;
<TD height=20 width=10% align=center class=myRed>;昵 称:</TD>;
<TD height=20 width=72% align=left>;
<INPUT type=text name=nicker maxlength=20 value="<? echo $nicker; ?>;" >;
<FONT class=myRed>;
长度不少于4位的字母数字和下划线
</FONT>;
</TD>;
</TR>;
<!--输入性别-->;
<TR class=myBlack>;
<TD height=30 width=10% align=center class=myRed>;性别:</TD>;
<TD height=30 width=70% align=left>;
<INPUT type=radio name=gender value="M"
<? echo ($gender=="M" ? "checked" : ""; ?>;>;
<font class=myBlue>;
俊男
</font>;
<INPUT type=radio name=gender value="W"
<? echo ($gender=="W" ? "checked" : ""; ?>;>;
<font class=myBlue>;
美女
</font>;
<FONT class=myRed>;
 当心,别错了!
</FONT>;
</TD>;
</TR>;
<!--输入密码-->;
<TR class=myBlack>;
<TD height=30 width=10% align=center class=myRed>;
密 码:
</TD>;
<TD height=30 width=70%>;
<input type=password name="password" maxlength=8 >;
<FONT class=myRed>;
一定要把它记牢了!进入社区的钥匙!
</FONT>;
</TD>;
</TR>;
<!--再次输入密码 -->;
<TR class=myBlack>;
<TD height=30 width=10% align=center class=myRed>;
重复密码:
</TD>;
<TD height=30 width=70%>;
<input type=password name="password2" maxlength=8 >;
<FONT class=myRed>;
请再确认一下密码!
</FONT>;
</TD>;
</TR>;
<!--输入时的选择按钮-->;
<TR class=myBlack>;
<TD height=30 width=80% colspan=2 align=center class=myRed>;
;
<INPUT type=reset name=Start value=" 重置 " class=myBlack>;
<INPUT type=submit name=Ok value=" 发送 " class=myBlack>;
<INPUT type=button name=Back value=" 返回 " class=myBlack
onClick=JavaScript:history.back()>;
</TD>;
</TR>;
</TABLE>;
</FORM>;
<!--显示版权等信息,使用的是CSS标记-->;
<DIV class=myGreen align=center>;
<? echo $COPYRIGHT; ?>;
</DIV>;
;
</BODY>;
</HTML>; |
|