很郁闷,初学,当查询语句成功以后依然不跳转。这是代码:代码中调用的的header.php包含了数据库链接语句,同时输出一个菜单栏。
复制内容到剪贴板
代码:
<?php
include('./header.php');
?>
<?php
if(isset($_POST['c_submit'])){
$error=array();
if(!empty($_POST['c_pass'])){
$pass=$_POST['c_pass'];
}
$query="select u_id from users where u_pass=SHA('$pass')";
$result=@mysql_query($query);
if(@mysql_num_rows($result)!=0){
$query="select c_id from confirm_pass where u_id='{$_SESSION['u_id']}'";
$result=@mysql_query($query);
if(@mysql_num_rows($result)==0){ #为该用户创建新的条目
$num=rand();
$query="insert into confirm_pass(c_num,u_id) values('$num','{$_SESSION['u_id']}')";
$result=@mysql_query($query);
if(@mysql_affected_rows()==1){
header("Location: safebox.php?x=$num");
}else{
echo mysql_error();
}
}else{#用户确认信息已存在,仅更新
$num=rand();
$query="update confirm_pass set c_num=$num";
$result=@mysql_query($query);
if(@mysql_affected_rows()==1){
header("Location: safebox.php?x=$num");
}else{
echo mysql_error();
}
}
}else{
echo 'password is incrrect.';
}
}
?>后来看到一个输出缓冲可以解决这个问题,但是还是不行,不知道是不是我写错了,这是加入输出缓冲后的例子:
复制内容到剪贴板
代码:
<?php
ob_start();
include('./header.php');
?>
<?php
if(isset($_POST['c_submit'])){
$error=array();
if(!empty($_POST['c_pass'])){
$pass=$_POST['c_pass'];
}
$query="select u_id from users where u_pass=SHA('$pass')";
$result=@mysql_query($query);
if(@mysql_num_rows($result)!=0){
$query="select c_id from confirm_pass where u_id='{$_SESSION['u_id']}'";
$result=@mysql_query($query);
if(@mysql_num_rows($result)==0){ #为该用户创建新的条目
$num=rand();
$query="insert into confirm_pass(c_num,u_id) values('$num','{$_SESSION['u_id']}')";
$result=@mysql_query($query);
if(@mysql_affected_rows()==1){
header("Location: safebox.php?x=$num");
ob_end_clean();
}else{
ob_end_flush();
echo mysql_error();
}
}else{#用户确认信息已存在,仅更新
$num=rand();
$query="update confirm_pass set c_num=$num";
$result=@mysql_query($query);
if(@mysql_affected_rows()==1){
header("Location: safebox.php?x=$num");
ob_end_clean();
exit();
}else{
ob_end_flush();
echo mysql_error();
}
}
}else{
echo 'password is incrrect.';
}
}
?>[
本帖最后由 daoying2000 于 2008-9-22 15:49 编辑 ]