代码如下,这是论坛发帖的处理页面,上传文件,发帖,还有验证文件都是有时可以有时就是出现一个空白页面,也没有任何提示:
<?php
session_start();
require_once('admin/include/config.inc.php');
require_once('admin/include/mysql.class.php');
require_once('admin/isset.php');
global $web;
$db=new db();
$username=$_SESSION['member'];
$title=$_POST['title'];
$content=htmlspecialchars($content);
$file_path="";
//if(!is_array($_FILES['file1'])){
 // echo '<script> alert("出现错误!请暂时停止上传。上传数组参数为空");history.back(); </script>';
 // exit;
//}
$checknum=$_POST['imcode'];
if ($checknum!=$_SESSION['login_check_number'])
{
echo "<script language='javascript'>alert('验证码不正确!');history.back();</script>";
exit();
}
$content=$_POST['content'];
if($content==""){
    echo "<script language='javascript'>alert('内容不能为空!');history.back();</script>";
exit();
}
if($content.length>$web['topic_content'].length){
    echo "<script language='javascript'>alert('内容最大位".$web['topic_content']."'个字符!');history.back();</script>";
exit();
}if($_FILES['file1']['name']!=''&&$_FILES['file1']['name']!=null){
if($web['filetype']==''||$web['filetype']==null){
echo "<script language='javascript'>alert('不允许上传附件!');history.back();</script> ";
exit;
}
$reg=$web['filetype'];
if(!preg_match('/\.('.$reg.')$/i',$_FILES['file1']['name'],$matches)){
  echo "<script language='javascript'> alert('提示!请选择一个有效的文件:允许的格式有(".$reg.")。'); history.back();</script>";
  exit;
}
$MAX_SIZE=$web['maxsize']*1000;            //限制上传文件大小
            $upload_dir = "uploadfile/";                                      
                if($_FILES['file1']['size']>=$MAX_SIZE)
                {
                    echo "<script language='javascript'> alert('文件太大了,最大只能上传".$web['maxsize']."KB。'); history.back();</script>";
                    exit();
                } 
                $temp_name=trim($_FILES['file1']['tmp_name']);
                $file_name=$_FILES['file1']['name'];
                $file_name=str_replace("\\","",$file_name);
                $file_name=str_replace("","",$file_name);
                $file_path=$upload_dir.$username.time().$file_name;                         
                if($result=move_uploaded_file($temp_name,$file_path))
                            {                                 
                              echo "<script  language='javascript'> alert('附件上传成功!'); </script>";  
                              //continue;                             
                            }
                else
                            {
                                echo "<script language='javascript'>alert('文件上传失败!');history.back();</script>";                            
                                exit();
                            } 
                
            }
$sonboard=$_GET['sonboard'];
$sql="insert into topics(sonboard,title,content,username,adddate,upload) values('$sonboard','$title','$content','$username',now(),'$file_path')";
$rs=$db->query($sql);
if ($db->affected_rows()) {
echo "<script language='javascript'>alert('发帖成功!');location.href='topic_content.php?id=".$db->insert_id()."';</script>";
$db->query("update member set topics=topics+1 where username='$username'");
$db->query("update info set topicnum=topicnum+1 ");
$db->query("update sonboard set topics=topics+1 where id='$sonboard'");

}
else {
echo "<script language='javascript'>alert('发帖失败!');history.back();</script>";

}
?>

解决方案 »

  1.   

    $sql="insert into topics(sonboard,title,content,username,adddate,upload) values('$sonboard','$title','$content','$username',now(),'$file_path')"; 
    //在這裏做跟蹤處理:
    echo $sql;die();
    $rs=$db->query($sql); 
    查看有沒有上傳到文件
      

  2.   

    那就是某個在exit(); 退出了程序
      

  3.   

    是不是我的逻辑由问题啊,要不怎么会一时可以一时又不行,出问题的时候地址栏显的就是这个处理页面的路径,页面是空白的,但是我觉得至少会有一条ALERT弹出啊,是不是我由什么问题没考虑到,就是没有用IF判断,然后上面的IF都没有执行,就出现一个空白页面
      

  4.   

    比如说执行完if(!preg_match('/\.('.$reg.')$/i',$_FILES['file1']['name'],$matches)){ 
      echo " <script language='javascript'> alert('提示!请选择一个有效的文件:允许的格式有(".$reg.")。'); history.back(); </script>"; 
      exit; 

    这段返回到发帖页面,然后上传文件,就只发帖子,我的上传文件和发帖是同一个提交按钮,然后就会出现空白页面
      

  5.   

    if($content==""){ 
        echo " <script language='javascript'>alert('内容不能为空!');history.back(); </script>"; 
    exit(); 
    } if($content.length>$web['topic_content'].length){
        echo "<script language='javascript'>alert('内容最大位".$web['topic_content']."'个字符!');history.back();</script>";
    exit();
    }
    这个有问题吗,好像就是在这里