遇见过重复插入数据的大虾请进!
问题是这样的,我用php写了一个表单,然后在提交的处理页面执行一条insert语句,但是我到数据看的时候发现每次插入的都是两条记录,郁闷了一个下午了,希望遇见过这类问题的大侠能帮忙解决一下。我的提交表单的文件如下所示:
<?php session_start();?>
<html>
<head>
<title>图书馆管理系统</title>
<link href="http://www.php1.cn/"></head>
<script language="javascript">
function check(form){
if(form.barcode.value==""){
alert("请输入条形码1!");form.barcode.focus();return false;
}
if(form.bookname.value==""){
alert("请输入图书姓名!");form.bookname.focus();return false;
}
if(form.price.value==""){
alert("请输入图书定价!");form.price.focus();return false;
}
form.submit();
}
</script>
<body>
<table width="776" border="0" align="center" cellpadding="0" cellspacing="0" class="tableborder">
<tr>
<td>
<?php include("navigation.php");?>
</td>
</tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" bgcolor="#ffffff"><table width="99%" height="510" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#ffffff" class="tableborder_gray">
<tr>
<td height="510" align="center" valign="top" style="padding:5px;"><table width="98%" height="487" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="22" valign="top" class="word_orange">当前位置:图书档案管理 > 添加图书信息 >>></td>
</tr>
<tr>
<td align="center" valign="top"><table width="100%" height="493" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="top">
<form name="form1" method="post" action="book_ok.php">
<table width="600" height="432" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
<tr>
<td width="173" align="center">条 形 码:</td>
<td width="427" height="39">
<input name="barcode" type="text" id="barcode"></td>
</tr>
<tr>
<td align="center">图书名称:</td>
<td height="39"><input name="bookname" type="text" id="bookname" size="50"> * </td>
</tr>
<tr>
<td align="center">图书类型:</td>
<td>
<select name="typeid" class="wenbenkuang" id="typeid">
<?php
include("conn/conn.php");
$sql=mysql_query("select * from tb_booktype");
$info=mysql_fetch_array($sql);
do{
?>
<option value="<?php echo $info[id];?>"><?php echo $info[typename];?></option>
<?php }while($info=mysql_fetch_array($sql));?>
</select>
</td>
</tr>
<tr>
<td align="center">作 者:</td>
<td><input name="author" type="text" id="author" size="40"></td>
</tr>
<tr>
<td align="center">译 者:</td>
<td><input name="translator" type="text" id="translator" size="40"></td>
</tr>
<tr>
<td align="center">出 版 社:</td>
<td>
<select name="isbn" class="wenbenkuang">
<?php
$sql2=mysql_query("select * from tb_publishing");
$info2=mysql_fetch_array($sql2);
do{
?>
<option value="<?php echo $info2[isbn];?>"><?php echo $info2[pubname];?></option>
<?php }while($info2=mysql_fetch_array($sql2));?>
</select>
</td>
</tr>
<tr>
<td align="center">价 格:</td>
<td><input name="price" type="text" id="price">(元)</td>
</tr>
<tr>
<td align="center">页 码:</td>
<td><input name="page" type="text" id="page"></td>
</tr>
<tr>
<td align="center">书 架:</td>
<td><select name="bookcaseid" class="wenbenkuang" id="bookcaseid">
<?php
$sql3=mysql_query("select * from tb_bookcase");
$info3=mysql_fetch_array($sql3);
do{
?>
<option value="<?php echo $info3[id];?>"><?php echo $info3[name];?></option>
<?php }while($info3=mysql_fetch_array($sql3));?>
</select>
<input name="operator" type="hidden" id="operator" value="<?php echo $info3[name];?>"></td>
</tr>
<tr>
<td align="center"> </td>
<td><input name="submit" type="submit" class="btn_grey" value="保存" onclick="return check(form1)">
<input name="submit2" type="button" class="btn_grey" value="返回" onclick="history.back();"></td>
</tr>
</table>
</form>
</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table><?php include("copyright.php");?></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
我的处理页面代码如下:<?php
session_start();
include("conn/conn.php");
$operator=$_session[admin_name];
$barcode=$_post[barcode];
$bookname=$_post[bookname];
$typeid=$_post[typeid];
$author=$_post[author];
$translator=$_post[translator];
$isbn=$_post[isbn];
$price=$_post[price];
$page=$_post[page];
$bookcase=$_post[bookcaseid];
$intime=date("y-m-d");
$sql=mysql_query("insert into tb_bookinfo(barcode,bookname,typeid,author,translator,isbn,price,page,bookcase,intime,operator )values('$barcode','$bookname','$typeid','$author','$translator','$isbn','$price','$page','$bookcase','$intime','$operator')");
header('location:book.php');
echo "<script language='javascript'>alert('图书信息添加成功!');</script>";
?>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
------解决方案--------------------
我的处理页面代码如下:
session_start();
------解决方案--------------------
onclick改为onsubmit ,以及删掉check()的form.submit(),check()只负责验证数据
------解决方案--------------------
你在check方法里面多写了submit.验证成功后check()提交一次 本身的input type=submit 又提交一次,所以你数据是重复的。