gpt4 book ai didi

php - jquery 表单插件将重复条目保存到 mysql 表

转载 作者:行者123 更新时间:2023-11-30 23:34:15 27 4
gpt4 key购买 nike

我正在为 friend 网站设计管理面板。我正在使用 jquery 表单插件提交表单而不刷新页面。由于此表单需要将图像上传到服务器,我无法使用我更熟悉的 ajax。

这是我的表单/jquery:

    <script type="text/javascript" src="jquery.form.js"></script>

<script type="text/javascript" >
$(document).ready(function() {

$('#submitform').live('click', function() {
$("#preview").html('');
$("#preview").html('<img src="loader.gif" alt="Processing...."/>');
$("#imageform").ajaxForm({
target: '#preview'
}).submit();

});
});
</script>

<form id="imageform" method="post" enctype="multipart/form-data" action='pages/addprodprocess.php'>
<table width="100%">
<tr>
<td>Product Name:</td> <td><input type="text" name="prodname" id="prodname" placeholder="Product Name"/></td>
</tr>
<tr>
<td>Product Description:</td> <td><textarea name="proddesc" id="proddesc" placeholder="Product Description"></textarea></td>
</tr>
<tr>
<td>Product Price:</td> <td><input type="text" name="prodprice" id="prodprice" placeholder="Price eg. 7.99"/></td>
</tr>
<tr>
<td>Product Category:</td> <td>
<?php
$getcats = mysql_query("select * from product_cats");
if(mysql_num_rows($getcats) == 0){
echo '<select id="prodcat" name="prodcat" disabled="disabled">';
echo '<option>Please create a category first!</option>';
echo '</select>';
}else{
echo '<select id="prodcat" name="prodcat">';
while($cats = mysql_fetch_array($getcats)){
echo '<option value="'.$cats['cat_id'].'">'.$cats['cat_name'].'</option>';
}
echo ' </select>';

}
?></td>
</tr>
<tr>
<td>Product image:</td> <td><input type="file" name="photoimg" id="photoimg" /></td>
</tr>

<tr><td></td><td><input type="submit" value="submit" id="submitform"/></td></tr>
</table>
</form>
<div id='preview'>
</div>

我的表单/jquery 似乎工作正常,问题是处理提交时的表单。提交后,它会发送到我的“addprodprocess.php”页面进行处理,效果很好,但是当将表单值保存到 mysql 时,它会将重复项(相同数据多次)保存到表中!

这是我的处理页面:

<?php
$link2 = mysql_connect('localhost', 'username', 'pass');
if (!$link2) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('database');

//ADD PRODUCT
if (isset($_FILES['photoimg'])) {
$path = "../products/";
$valid_formats = array("jpg", "png", "gif", "bmp");
if(isset($_POST) && $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];

if(strlen($name) && strlen($_POST['prodname']) && strlen($_POST['proddesc']) && strlen($_POST['prodprice']) && strlen($_POST['prodcat']))
{
list($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats))
{
if($size<(1024*1024))
{
$actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
$tmp = $_FILES['photoimg']['tmp_name'];
if(move_uploaded_file($tmp, $path.$name))
{
mysql_query("INSERT INTO `products` (`product_name`,`product_desc`,`product_img`,`product_price`,`product_cat`) VALUES('".$_POST['prodname']."','".$_POST['proddesc']."','".$name."','".$_POST['prodprice']."','".$_POST['prodcat']."')");

echo "<img src='products/".$name."' class='preview' height='75' width='75'>";
}
else{
echo "failed";
}
}
else{
echo "Image file size max 1 MB";
}
}
else{
echo "Invalid file format..";
}
}

else{
echo "All fields MUST be filled in!";
}

exit;
}
}
?>

谁能帮助我,我将不胜感激!

最佳答案

在 INSERT 之前运行 SELECT 并确保它返回 NULL。

关于php - jquery 表单插件将重复条目保存到 mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8935303/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com