2012-01-20 13 views
1

私は友人のWebサイトの管理パネルを設計中です。私はjqueryフォームプラグインを使用して、ページを更新せずにフォームを送信しています。このフォームはサーバーに画像をアップロードする必要があるため、もう少し詳しく知っているajaxを使用できません。ここjqueryフォームのプラグインmysqlテーブルに重複したエントリを保存する

は私のフォーム/ 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; 
     } 
     } 
     ?>  

誰も、それは本当にいただければ幸いです!

答えて

0

INSERTがSELECTを実行してNULLを戻す前に、

関連する問題