2015-11-26 110 views
0

我無法插入產品,並且警報腳本也不起作用。我正嘗試使用表單將一些數據插入到我的數據庫中。填寫完表格後,我正在使用method =「POST」來獲取數據。我沒有語法錯誤,但我無法將數據從我的表單插入到我的數據庫中。無法在mysql表中插入數據

<?php 
    include("includes/db.php"); 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>Untitled Document</title> 
     <script src="//tinymce.cachefly.net/4.3/tinymce.min.js"></script> 
     <script>tinymce.init({ selector:'textarea' });</script> 
    </head> 
    <body bgcolor="#999999"> 
     <form method="post" action="insert_product.php" enctype="multipart/form-data"> 
      <table width="700" align="center" border="1" bgcolor="#0099CC"> 
       <tr align="center"> 
        <td colspan="2"><h1>Insert New Product:</h1></td> 
       </tr> 
       <tr> 
        <td align="right"><b>Product Title</b></td> 
        <td><input type="text" name="product_title" size="50"/></td> 
       </tr> 
       <tr> 
        <td align="right"><b>Product Category</b></td> 
        <td> 
         <select name="product_cat"> 
          <option>Select a Category</option> 
          <?php 
           $get_cats = "select * from categories"; 
           $run_cats = mysqli_query($con, $get_cats); 
           while ($row_cats=mysqli_fetch_array($run_cats)){ 
            $cat_id = $row_cats['cat_id']; 
            $cat_title = $row_cats['cat_title']; 
            echo "<option value='$cat_id'>$cat_title</option>"; 
           } 
          ?> 
         </select> 
        </td> 
       </tr> 
       <tr> 
        <td align="right"><b>Product Brand</b></td> 
        <td> 
         <select name="product_brand"> 
          <option>Select Brand</option> 
          <?php 
           $get_brands = "select * from brands"; 
           $run_brands = mysqli_query($con, $get_brands); 
           while ($row_brands=mysqli_fetch_array($run_brands)){ 
            $brand_id = $row_brands['brand_id']; 
            $brand_title = $row_brands['brand_title']; 
            echo "<option value='$brand_id'>$brand_title</option>"; 
           } 
          ?> 
         </select> 
        </td> 
       </tr> 
       <tr> 
        <td align="right"><b>Product Image 1</b></td> 
        <td><input type="file" name="product_img1"/></td> 
       </tr> 
       <tr> 
        <td align="right"><b>Product Image 2</b></td> 
        <td><input type="file" name="product_img2"/></td> 
       </tr> 
       <tr> 
        <td align="right"><b>Product Image 3</b></td> 
        <td><input type="file" name="product_img3"/></td> 
       </tr> 
       <tr> 
        <td align="right"><b>Product Price</b></td> 
        <td><input type="text" name="product_price"/></td> 
       </tr> 
       <tr> 
        <td align="right"><b>Product Description</b></td> 
        <td><textarea name="product_desc"cols="35" rows="10"></textarea></td> 
       </tr> 
       <tr> 
        <td align="right"><b>Product Keywords</b></td> 
        <td><input type="text" name="product_keywords" size="50"/></td> 
       </tr> 
       <tr align="center"> 
        <td colspan="2"><input type="submit" name="Insert Product" value="Insert Product"/></td> 
       </tr> 
      </table> 
     </form> 
    </body> 
</html> 
<?php   
    if (isset($_POST['insert_product'])){ 
     //text data variables 
     $product_title =$_POST['product_title']; 
     $product_cat =$_POST['product_cat']; 
     $product_brand =$_POST['product_brand']; 
     $product_price =$_POST['product_price']; 
     $product_desc =$_POST['product_desc']; 
     $status = 'on'; 
     $product_keywords =$_POST['product_keywords']; 

     //image names 
     $product_img1 = $_FILES['product_img1']['name']; 
     $product_img2 = $_FILES['product_img2']['name']; 
     $product_img3 = $_FILES['product_img3']['name']; 

     //Image temp names 
     $temp_name1 = $_FILES['product_img1']['tmp_name']; 
     $temp_name2 = $_FILES['product_img2']['tmp_name']; 
     $temp_name3 = $_FILES['product_img3']['tmp_name']; 

     if($product_title=='' OR $product_cat=='' OR $product_brand=='' OR $product_price=='' OR $product_desc=='' OR $product_keywords=='' OR $product_img1==''){ 
      echo "<script>alert('Please fill all the fields!')</script>"; 
      exit(); 
     } else { 
      //uploading images to its folder 
      move_uploaded_file($temp_name1,"product_images/$product_img1"); 
      move_uploaded_file($temp_name2,"product_images/$product_img2"); 
      move_uploaded_file($temp_name3,"product_images/$product_img3"); 

      $insert_product = "insert into products (cat_id,brand_id,date,product_title,product_img1,product_img2,product_img3,product_price,product_desc,status) values ('$product_cat','$product_brand',NOW(),'$product_title','$product_img1','$product_img2','$product_img3','$product_price','$product_desc','status')"; 

      $run_product = mysqli_query($con,$insert_product); 
      if($run_product){ 
       echo "<script>alert('Product inserted successfully')</script>"; 
      } 
     } 
    } 
?> 
+5

您沒有檢查SQL錯誤。您可以接受SQL注入。 – chris85

+1

嘗試僅打印查詢,即'echo $ insert_product' 並讓我知道你在收到什麼...... – Abbas

+0

'Insert Product'!='insert_product' =>'name =「插入產品」'vs'$ _POST [ 'insert_product']'。您的表單中提交的名稱與您的php'$ _POST'不匹配 – Sean

回答

0

只有一行mistake.Replace

<input type="submit" name="insert_product" value="Insert Product"/> 

<input type="submit" name="insert_product" value="Insert Product"/> 

既然你如果檢查(isset($ _ POST [insert_product]))。嘗試密碼

<?php 
include("includes/db.php"); 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<script src="//tinymce.cachefly.net/4.3/tinymce.min.js"></script> 
    <script>tinymce.init({ selector:'textarea' });</script> 
</head> 

<body bgcolor="#999999"> 
<form method="post" action="insert_product.php" enctype="multipart/form-data"> 
<table width="700" align="center" border="1" bgcolor="#0099CC"> 
<tr align="center"> 
<td colspan="2"><h1>Insert New Product:</h1></td> 
</tr> 
<tr> 
<td align="right"><b>Product Title</b></td> 
<td><input type="text" name="product_title" size="50"/></td> 
</tr> 
<tr> 
<td align="right"><b>Product Category</b></td> 
<td> 
<select name="product_cat"> 
<option>Select a Category</option> 
<?php 
    $get_cats = "select * from categories"; 
    $run_cats = mysqli_query($con, $get_cats); 
    while ($row_cats=mysqli_fetch_array($run_cats)){ 
     $cat_id = $row_cats['cat_id']; 
     $cat_title = $row_cats['cat_title']; 
    echo "<option value='$cat_id'>$cat_title</option>"; 
    } 
    ?> 

</select> 

</td> 
</tr> 
<tr> 
<td align="right"><b>Product Brand</b></td> 
<td> 
<select name="product_brand"> 
<option>Select Brand</option> 
<?php 
    $get_brands = "select * from brands"; 
    $run_brands = mysqli_query($con, $get_brands); 
    while ($row_brands=mysqli_fetch_array($run_brands)){ 
     $brand_id = $row_brands['brand_id']; 
     $brand_title = $row_brands['brand_title']; 
    echo "<option value='$brand_id'>$brand_title</option>"; 
    } 
    ?> 
</select> 
</td> 
</tr> 
<tr> 
<td align="right"><b>Product Image 1</b></td> 
<td><input type="file" name="product_img1"/></td> 
</tr> 
<tr> 
<td align="right"><b>Product Image 2</b></td> 
<td><input type="file" name="product_img2"/></td> 
</tr> 
<tr> 
<td align="right"><b>Product Image 3</b></td> 
<td><input type="file" name="product_img3"/></td> 
</tr> 
<tr> 
<td align="right"><b>Product Price</b></td> 
<td><input type="text" name="product_price"/></td> 
</tr> 
<tr> 
<td align="right"><b>Product Description</b></td> 
<td><textarea name="product_desc"cols="35" rows="10"></textarea></td> 
</tr> 
<tr> 
<td align="right"><b>Product Keywords</b></td> 
<td><input type="text" name="product_keywords" size="50"/></td> 
</tr> 
<tr align="center"> 
<td colspan="2"><input type="submit" name="insert_product" value="Insert Product"/></td> 
</tr> 
</table> 
</form> 
</body> 
</html> 

<?php 

if (isset($_POST['insert_product'])){ 
    //text data variables 
    $product_title =$_POST['product_title']; 
    $product_cat =$_POST['product_cat']; 
    $product_brand =$_POST['product_brand']; 
    $product_price =$_POST['product_price']; 
    $product_desc =$_POST['product_desc']; 
    $status = 'on'; 
    $product_keywords =$_POST['product_keywords']; 


    //image names 

    $product_img1 = $_FILES['product_img1']['name']; 
    $product_img2 = $_FILES['product_img2']['name']; 
    $product_img3 = $_FILES['product_img3']['name']; 

    //Image temp names 
    $temp_name1 = $_FILES['product_img1']['tmp_name']; 
    $temp_name2 = $_FILES['product_img2']['tmp_name']; 
    $temp_name3 = $_FILES['product_img3']['tmp_name']; 

    if($product_title=='' OR $product_cat=='' OR $product_brand=='' OR $product_price=='' OR $product_desc=='' OR $product_keywords=='' OR $product_img1==''){ 
     echo "<script>alert('Please fill all the fields!')</script>"; 
     exit(); 
     } 
    else { 
    //uploading images to its folder 
    move_uploaded_file($temp_name1,"product_images/$product_img1"); 
    move_uploaded_file($temp_name2,"product_images/$product_img2"); 
    move_uploaded_file($temp_name3,"product_images/$product_img3"); 

    $insert_product = "insert into products (cat_id,brand_id,date,product_title,product_img1,product_img2,product_img3,product_price,product_desc,status) values ('$product_cat','$product_brand',NOW(),'$product_title','$product_img1','$product_img2','$product_img3','$product_price','$product_desc','status')"; 

    $run_product = mysqli_query($con,$insert_product); 
    if($run_product){ 
     echo "<script>alert('Product inserted successfully')</script>"; 

     } 
    } 
} 

?> 
0

您的提交按鈕名稱與您的isset($ _ POST ['insert_product'])語句不同。