遇见过重复插入数据的大虾请进!
问题是这样的,我用Php写了一个表单,然后在提交的处理页面执行一条insert语句,但是我到数据看的时候发现每次插入的都是两条记录,郁闷了一个下午了,希望遇见过这类问题的大侠能帮忙解决一下。我的提交表单的文件如下所示:
<?php session_start();?>
<html>
<head>
<title>图书馆管理系统</title>
<link href="CSS/style.css" rel="stylesheet">
</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;
$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">
谢谢各位了!
[解决办法]
我的处理页面代码如下:<?php
session_start();
[解决办法]
onclick改为onsubmit ,以及删掉check()的form.submit(),check()只负责验证数据
[解决办法]
你在check方法里面多写了submit.验证成功后check()提交一次 本身的input type=submit 又提交一次,所以你数据是重复的。