为查原因存储表单信息的PHP代码已被我改得百孔千疮了,我将与上传文件相关的句子全注释掉了。 但是最后一句header被注释掉就不重复存储。一有这句就重复。<?php include "../../config_ini.php"; session_start(); session_register("error_info"); include $system_db_config_file; include $system_mysql_file; $db=new db(); $db->open($dbserver,$dbuser,$dbpassword,$dbname); $query=new query($db); include $system_function_file; //include $system_upload_file;
但是最后一句header被注释掉就不重复存储。一有这句就重复。<?php include "../../config_ini.php";
session_start();
session_register("error_info");
include $system_db_config_file;
include $system_mysql_file;
$db=new db();
$db->open($dbserver,$dbuser,$dbpassword,$dbname);
$query=new query($db);
include $system_function_file;
//include $system_upload_file;
$uploaddir = "$system_doc_dir/interior/";
$aa=0;
//echo $_FILES['userfile']['name']."ss";
//exit;
// $upload_class = new upload_class($_FILES['userfile'],"",$uploaddir,$aa);
// $upload_class->savename=time().".".$upload_class->ext;
// $upload_class->run();
//echo $upload_class->errmsg();
// $furl=$upload_class->savename;
// $fsize=$upload_class->file_size;
// $ftype=$upload_class->file_type; $sql="insert into doclst (doc_nm,doctp_id,docfl_nm,docfl_tp,docfl_sz,userid,doctime,docnote)";
$sql.=" values('$doc_nm','$doctp_id','$furl','$ftype','$fsize','$userid','$doctime','$docnote')";
//echo $sql;
$result=$query->query($db,$sql);
//echo $result;
if(!result){
$error_info="插入数据库记录没有成功。";
header("location:doc_add.php");
exit;
}
$u_id=$query->last_insert_id($result);
//短信处理及阅读权限处理
$a_user=explode(",",$m_userid);
for($i=0;$i<count($a_user);$i++){
//阅读权限处理
$sql2="insert into doc_role(doc_id,role_id) values($u_id,$a_user[$i])";
$rslt_d_u=$query->query($db,$sql2);
//加入短信表
//$content=id_name($userid)."发布了一个标题为“".$doc_nm."”的文件,请注意查看。";
//$sql="insert into sms(from_id,to_id,sms_type,content,send_time)";
//$sql.=" values('$userid','".$a_user[$i]."','3','$content','$doctime')";
//echo $sql;
//$query->query($db,$sql);
}
//$error_info="文件发布成功!" ;
// header("location:doc_list.php");
?>
我再说一遍特点:
1 在表单页上如果没有<input type=file>一项时即不重复存储。
2 在接收页上不执行最后的header(...)也不重复存储。