我遇到了ashchen (陈辉)(防止刷新重复提交的两种方法)所说的问题,代码如下

Cain 2003-10-10 10:07:01
提交完之后刷新一次就重复提交一次,而我想要的效果是,提交完之后仍然显示这一页,但是刷新的话是不会提交的.初学php三个月,请大家指点的详细一点.另外,如果代码里有不足之处,也烦请大家指出来,以帮助我成长,谢谢.
<?
include "../include/common.php";
include("../include/global.inc");
include("../include/easytpl.inc");
$Server = Get_Mysql_Server();


$Tdate = date("Y-m-d");

//添加 大类别
if($LType_submit)
{
if($addLType != "")
{
$STR = "select * from new_LType where LType='".$addLType."'";
$RST = mysql_query($STR) or die("查询大类别失败".$STR);
$NUM = mysql_num_rows($RST);
if($NUM == "")
{
$STR = "insert into new_LType values('','".$addLType."')";
$RST = mysql_query($STR) or die("添加大类别失败".$STR);
print "大类别添加成功,您刚才添加的大类别为".$addLType;

}else{
print $addTYpe."已存在!添加失败!";

}
}else{
print "空的你也要添加,过分了吧,郁闷!";
}
}

//添加 小类别
if($SType_submit)
{
if($addSType != "")
{
$STR = "select * from new_SType where SType='".$addSType."'";
$RST = mysql_query($STR) or die("查询小类别失败".$STR);
$NUM = mysql_num_rows($RST);
if($NUM == "")
{
$STR = "insert into new_SType values('','".$addSType."')";
$RST = mysql_query($STR) or die("添加小类别失败".$STR);
print "小类别添加成功,您刚才添加的小类别为".$addSType;

}else{
print $addSYpe."已存在!添加失败!";

}
}else{
print "空的你也要添加,过分了吧,郁闷!";
}
}

//添加 版本号
if($ver_submit)
{
if($addver)
{
$STR = "select * from new_ver where ver='".$addver."'";
$RST = mysql_query($STR) or die("查询版本号失败".$STR);
$NUM = mysql_num_rows($RST);
if($NUM == "")
{
$STR = "insert into new_ver values('','".$addver."')";
$RST = mysql_query($STR) or die("添加版本号失败".$STR);
print "版本号添加成功,您刚才添加的版本号为".$addver;

}else{
print $addver."已存在!添加失败!";

}
}else{
print "空的你也要添加,过分了吧,郁闷!";
}
}

//set ID
$result = mysql_db_query('focusforever',"select max(id) from new_magazine1");
list($id) = mysql_fetch_array($result);
$id = $id+1;
//print $id; die();

//set dir
$dir = "mgzphoto";
if(!file_exists($dir))
{
@mkdir($dir,0777);
}
$dir = $dir."/";

//大封面
if($L_Cover_size>0){
$L_Cover_name = $id."_l_cover.jpg";
copy($L_Cover,$dir.$L_Cover_name);
}else{
$ErrMessage = "图片没有,你也敢传!";
}
//小封面
if($S_Cover_size>0){
$S_Cover_name = $id."_s_cover.jpg";
copy($S_Cover,$dir.$S_Cover_name);
}else{
$ErrMessage = "图片没有,你也敢传!";
}
//Page1
if($page1_size>0){
$page1_name = $id."_page1.jpg";
copy($page1,$dir.$page1_name);
}else{
$ErrMessage = "图片没有,你也敢传!";
}
//Page2
if($page2_size>0){
$page2_name = $id."_page2.jpg";
copy($page2,$dir.$page2_name);
}else{
$ErrMessage = "图片没有,你也敢传!";
}
//Page3
if($page3_size>0){
$page3_name = $id."_page3.jpg";
copy($page3,$dir.$page3_name);
}else{
$ErrMessage = "图片没有,你也敢传!";
}


if($submit == "提交")
{
if($name != "")
{
$Str = "insert into new_magazine1 values('','".$Tdate."','".$name."','".$LType."','".$SType."','".$ver."','".$vol."','".$content."','".$L_Cover_name."','".$S_Cover_name."','".$page1_name."','".$page2_name."','".$page3_name."')";
$Rst = mysql_query($Str,$Server) or die("添加杂志错误".$Str);
print "杂志添加成功!";
}else{
print "杂志名称都没有,你传什么传呀:P";
}
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>添加杂志</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
.unnamed1 { font-size: 12px; color: #000000; text-decoration: none; padding-left: 9px}
-->
</style>
</head>

//文件太长,我分2次贴出来
...全文
33 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinyaoxp 2003-10-10
  • 打赏
  • 举报
回复
这样好麻烦啊
Cain 2003-10-10
  • 打赏
  • 举报
回复
:( xuzuning(唠叨) 你有没有把我的代码copy下来放在dreamweaver里看,他们要我做的效果就是这个样子的,他们要即时的添加类别,比如"添加大类别",添加了之后就能马上在大类别的下拉框里显示出来,小类别和版本也是这样的.
提交的时候就大类别,小类别,版本就到各自的下拉框里去找.
也就是说,添加的时候如果发现大类别里没有他们想要的值,他们就即时的添加,然后在选择.

说了这么多不知道你听懂了没有.
xuzuning 2003-10-10
  • 打赏
  • 举报
回复
你的代码太多且太乱。加之还有嵌入文件和数据库操作,无法再现你的环境。

请将问题简化,捡重要的说
ashchen 2003-10-10
  • 打赏
  • 举报
回复
我找到完美的解决方法了,等我整理一下
Cain 2003-10-10
  • 打赏
  • 举报
回复
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<form action="" method="post" name="addmgz" ENCTYPE="multipart/form-data">
<tr>
<td colspan="2" align="center">添加杂志</td>
</tr>
<tr class="unnamed1">
<td width="10%" align="center">杂志名称</td>
<td width="90%"><input type="text" name="name"></td>
</tr>
<tr class="unnamed1">
<td width="10%" align="center"> </td>
<td> </td>
</tr>
<tr class="unnamed1">
<td align="center">大 类 别</td>
<td>
<select name="LType">
<option selected>:::请选择:::</option>
<?
//显示 大类别
$STR="select id,LType from new_LType order by id desc";
$RST=mysql_query($STR) or die("搜索错误".$STR);
while(list($ID,$LType)=mysql_fetch_array($RST))
{
$L="<option value='$ID'>$LType</option>";
print $L;
}
?>
</select>
<input type="text" name="addLType">
<input type="submit" name="LType_submit" value="添加大类别"></td>
</tr>
<tr class="unnamed1">
<td align="center"> </td>
<td> </td>
</tr>
<tr class="unnamed1">
<td align="center">小 类 别</td>
<td><select name="SType">
<option selected>:::请选择:::</option>
<?
//显示 小类别
$STR="select id,SType from new_SType order by id desc";
$RST=mysql_query($STR) or die("搜索错误".$STR);
while(list($ID,$SType)=mysql_fetch_array($RST))
{
$S="<option value='$ID'>$SType</option>";
print $S;
}
?>
</select>
<input type="text" name="addSType">
<input type="submit" name="SType_submit" value="添加小类别"></td>
</tr>
<tr class="unnamed1">
<td align="center"> </td>
<td> </td>
</tr>
<tr class="unnamed1">
<td align="center">版    本</td>
<td><select name="ver">
<option selected>:::请选择:::</option>
<?
//显示 版本号
$STR="select id,ver from new_ver order by id desc";
$RST=mysql_query($STR) or die("搜索错误".$STR);
while(list($ID,$ver)=mysql_fetch_array($RST))
{
$V="<option value='$ID'>$ver</option>";
print $V;
}
?>
</select>
<input type="text" name="addver">
<input type="submit" name="ver_submit" value="添加版本号"></td>
</tr>
<tr class="unnamed1">
<td align="center"> </td>
<td> </td>
</tr>
<tr class="unnamed1">
<td align="center">期    数</td>
<td><input type="text" name="vol"></td>
</tr>
<tr class="unnamed1">
<td align="center"> </td>
<td> </td>
</tr>
<tr class="unnamed1">
<td align="center" valign="top">内容介绍</td>
<td><textarea name="content" cols="50" rows="5"></textarea></td>
</tr>
<tr class="unnamed1">
<td align="center"> </td>
<td> </td>
</tr>
<tr class="unnamed1">
<td align="center">小 封 面</td>
<td><input type="file" name="S_Cover"></td>
</tr>
<tr class="unnamed1">
<td align="center"> </td>
<td> </td>
</tr>
<tr class="unnamed1">
<td align="center">大 封 面</td>
<td><input type="file" name="L_Cover"></td>
</tr>
<tr class="unnamed1">
<td align="center"> </td>
<td> </td>
</tr>
<tr class="unnamed1">
<td align="center">页 面 一</td>
<td><input type="file" name="page1"></td>
</tr>
<tr class="unnamed1">
<td align="center"> </td>
<td> </td>
</tr>
<tr class="unnamed1">
<td align="center">页 面 二</td>
<td><input type="file" name="page2"></td>
</tr>
<tr class="unnamed1">
<td align="center"> </td>
<td> </td>
</tr>
<tr class="unnamed1">
<td align="center">页 面 三</td>
<td><input type="file" name="page3"></td>
</tr>
<tr class="unnamed1">
<td align="center"> </td>
<td> </td>
</tr>
<tr class="unnamed1">
<td align="center"><input type="submit" name="submit" value="提交"></td>
<td><input type="reset" name="reset" value="重新填写"></td>
</tr>
</form>
</table>
</body>
</html>
多菜鸟 2003-10-10
  • 打赏
  • 举报
回复
to xuzuning(唠叨)
你是高手我知道的,你不用dreamweaver是用什么工具来做网页程序的??
Mistruster 2003-10-10
  • 打赏
  • 举报
回复
用if(!empty($_POST["LType_submit"]))来判断
每次操作完后都写个:
header("Location: http://".$_SERVER['HTTP_HOST'].$PHP_SELF);
放到if语句的大括号里
Mistruster 2003-10-10
  • 打赏
  • 举报
回复
把你要print的东西放到一个变量里 $prints
在 } 后写上 echo "<script>alert('$prints');</script>";
Mistruster 2003-10-10
  • 打赏
  • 举报
回复
哪有那么麻烦……

if($_POST["LType_submit"])
{
//...
header("Location: http://".$_SERVER['HTTP_HOST'].$PHP_SELF);
}
Cain 2003-10-10
  • 打赏
  • 举报
回复
不是不是,我的意思是你看一下页面的功能,
你不是说我的代码太多么,那能不能指点一下.
该怎么改?
xuzuning 2003-10-10
  • 打赏
  • 举报
回复
为什么我要用dreamweaver???
shuiaaa 2003-10-10
  • 打赏
  • 举报
回复
<?
session_start();
// Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count']++;
}
echo $_SESSION[count];

if($_SESSION[count]>0)
{
echo "你已提交过,不要重复!!";
}
//我抽空为你写了个简单防止重复提交,你试试是否合你心意!!
?>
执行结果:
第一次 0
第二次1 你已提交过,不要重复!!

Cain 2003-10-10
  • 打赏
  • 举报
回复
怎么麻烦?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧