2016-06-07 12 views
0

Ich verwende PHP-Code, um Daten aus dem Formular zu erhalten und in die Datenbank hochzuladen. Aber die Daten werden nicht in der Datenbank gespeichert. Hier ist 'insert_product.php' die Datei, in der sich der gesamte Code befindet und das Formular wird auf dieselbe Seite umgeleitet, nachdem auf die Schaltfläche geklickt wurde. Jeder kann helfen?Formular übermittelte Daten werden nicht in die Datenbank hochgeladen

<form action="insert_product.php" method="post" enctype="multipart/form-data"> 

     <table align="center" width="795" border="2" bgcolor="#187eae"> 

      <tr align="center"> 
       <td colspan="7"><h2>Insert New Post Here</h2></td> 
      </tr> 

      <tr> 
       <td align="right"><b>Product Title:</b></td> 
       <td><input type="text" name="product_title" size="60" required/></td> 
      </tr> 

      <tr> 
       <td align="right"><b>Product Category:</b></td> 
       <td> 
       <select name="product_cat" > 
        <option>Select a Category</option> 
        <option value="1">Laptop</option> 
        <option value="2">Computer</option> 
       </select> 


       </td> 
      </tr> 

      <tr> 
       <td align="right"><b>Product Brand:</b></td> 
       <td> 
       <select name="product_brand" > 
        <option>Select a Brand</option> 
        <option value="1">LG</option> 
        <option value="2">Samsung</option> 
       </select> 


       </td> 
      </tr> 

      <tr> 
       <td align="right"><b>Product Image:</b></td> 
       <td><input type="file" name="product_image" /></td> 
      </tr> 

      <tr> 
       <td align="right"><b>Product Price:</b></td> 
       <td><input type="text" name="product_price" required/></td> 
      </tr> 

      <tr> 
       <td align="right"><b>Product Description:</b></td> 
       <td><textarea name="product_desc" cols="20" rows="10"></textarea></td> 
      </tr> 

      <tr> 
       <td align="right"><b>Product Keywords:</b></td> 
       <td><input type="text" name="product_keywords" size="50" required/></td> 
      </tr> 

      <tr align="center"> 
       <td colspan="7"><input type="submit" name="insert_post" value="Insert Product Now"/></td> 
      </tr> 

     </table> 


    </form> 


</body> 
</html> 
<?php 

    if(isset($_POST['insert_post'])){ 

     //getting the text data from the fields 
     $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']; 
     $product_keywords = $_POST['product_keywords']; 

     //getting the image from the field 
     $product_image = $_FILES['product_image']['name']; 
     $product_image_tmp = $_FILES['product_image']['tmp_name']; 

     move_uploaded_file($product_image_tmp,"product_images/$product_image"); 

     $insert_product = "insert into products (product_cat,product_brand,product_title,product_price,product_desc,product_image,product_keywords) values ('$product_cat','$product_brand','$product_title','$product_price','$product_desc','$product_image','$product_keywords')"; 

     $insert_pro = mysqli_query($con, $insert_product); 

     if($insert_pro){ 

     echo "<script>alert('Product Has been inserted!')</script>"; 
     echo "<script>window.open('index.php?insert_product','_self')</script>"; 

     } 
    } 








?> 
+1

Hoo Junge, das ist ein gefährlicher Code! Sie fügen Variablen direkt in die SQL-Abfrage ein, was sehr gefährlich ist! – Ben

+0

Es gibt einige Fehler in Ihrem Code: 1) Sie nicht überprüfen und entgehen Benutzer übergebene Daten vor dem Einfügen, 2) sollten Sie nicht HTML nach dem abschließenden HTML-Tag echo. –

+0

überprüfen Sie Ihre Datenbankverbindung. –

Antwort

1

Wenn dies der gesamte Code ist, kann ich nicht so etwas wie finden $con = mysqli_connect(...) Natürlich müssen Sie mit der Datenbank verbinden, bevor Sie Abfragen auf es

0

Sie Ausführen Verbindung zur Datenbank müssen zunächst wie so :

$con = mysqli_connect("localhost","my_user","my_password","my_db"); 

Weitere Informationen zu Datenbankverbindungen here. Und wenn ich du wäre, würde ich einfach anfangen, indem ich zuerst die Verbindung funktioniere, dann Daten in die Tabelle einfüge und nur wenn du ein gutes Verständnis davon hast, würde ich zum Hochladen von Dateien übergehen.

Verwandte Themen