2015-12-27 4 views
5

में नहीं जा रहा है मैंने अपनी समस्या के बारे में कुछ संबंधित प्रश्न पढ़ा है लेकिन मैं अभी भी इसे समझ नहीं सकता। तो मैंने अब पूछने का फैसला किया।डेटा MySQL डेटाबेस

मैं जानना चाहता हूं कि मेरे कोड में कुछ गड़बड़ है या नहीं। असल में, इनपुट बॉक्स में डेटा डेटाबेस (MYSQL) में प्राप्त होना चाहिए, लेकिन हर बार जब मैं सबमिट बटन पर क्लिक करता हूं, कुछ भी नहीं हो रहा है।

कोड: insert_product.php < - मुख्य पृष्ठ

<!DOCTYPE html> 
<?php 
include("includes/db.php"); 
?> 
<html> 
    <head> 

    </head> 
<script src="//cdn.tinymce.com/4/tinymce.min.js"></script> 
<script>tinymce.init({ selector:'textarea' });</script> 

<body bgcolor="#aad6bb"> 
    <form action="insert_product.php" method="post" enctype="multipart/form-data"> 
     <table align="center" width="600" border='1' bgcolor='#d6aac5'> 

      <tr align="center"> 
       <td colspan='8'><h2>Inser New Post Here</h2></td> 
      </tr> 

      <tr > 
       <td align="right"> <b>Product Name:<b></td> 
       <td><input type='text'name="product_name" size='50'/></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 Price:</b></td> 
       <td><input type='text'name="product_price"/></td> 
      </tr> 

      <tr> 
       <td align="right"><b> Product Quantity:</b></td> 
       <td><input type='text'name="product_quantity"/></td> 
      </tr> 

      <tr> 
       <td align="right"> <b>Product Category:</b></td> 
       <td><select name="product_cat"> 
         <option>Select Category</option> 
         <?php 
          $get_cats = "Select * from categories"; 
          $run_cat = mysqli_query($con, $get_cats); 
          while ($row_cats=mysqli_fetch_array($run_cat)){ 
          $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 Image:</b></td> 
       <td><input type='file' name="product_img"/></td> 
      </tr> 

      <tr> 
       <td align="right"> <b>Product Keywords:</b></td> 
       <td><input type='text' size="40" name="product_kw"/></td> 
      </tr> 
      <tr align='center'> 
       <td colspan='8'><input type='submit'name="insert_post" value="Insert Product"/></td> 
      </tr> 

     </table> 


    </form> 
</body> 
</html> 
<?php 
    if(isset($_POST['insert_post'])){ 
//GETTING DATA FROM THE FIELD 
     $product_name= $_POST['product_name']; 
     $product_desc= $_POST['product_desc']; 
     $product_price= $_POST['product_price']; 
     $product_quantity= $_POST['product_quantity']; 
     $product_cat= $_POST['product_cat']; 
     $product_kw= $_POST['product_kw']; 
//GETTING IMAGE FROM THE FIELD 
     $product_img = $_FILES['product_img']['name']; 
     $product_img_tmp = $_FILES['product_img']['tmp_name']; 

     move_uploaded_file($product_img_tmp, "product_images/$product_img"); 

     $insert_product = "insert into item (product_name,product_desc,product_price,product_quantity,product_cat,product_img,keywords) 
     values ('ItemName','ItemDesc',ItemPrice,ItemQty,'ItemCat','ItemImg','keywords')" OR die(mysql_error()); 


     $insert_prod = mysqli_query($con, $insert_product); 
     if($insert_prod){ 

      echo "<script>alert('SUCCESS')</script>"; 
      echo "<script>window.open('insert_product.php','self')</script>"; 
     }//END OF IF(INSERT_PROD) 
} 
?> 

db.php < - कनेक्शन डेटाबेस से

<?php 
$con = mysqli_connect("localhost","root","","ecommerce"); 
?> 

टेबल के लिए (नाम ecommerce है) item मेरी item तालिका में: ItemID प्राथमिक और ऐ ItemName ItemDesc ItemPrice ItemQty ItemCat ItemImg keywords

नोट: मुझे पता है कि मेरी कोड SQL इंजेक्शन हमलों के लिए असुरक्षित है हूँ। लेकिन मैं अभी भी अभी शुरुआत कर रहा हूँ और HTML के संबंध पर ध्यान केंद्रित कर और PHP सामान :)

+0

सचमुच कुछ भी नहीं हो रहा है? वेब पेज आपको नहीं बताता है कि आपने फॉर्म जमा कर दिया है? क्या ब्राउजर के कंसोल में कोई जानकारी उपलब्ध है? – TRose

+0

'मूल्यों" 'नहीं है कि PHP चर होना चाहिए ('ITEMNAME', 'ItemDesc', ItemPrice, ItemQty, 'कीवर्ड' 'ItemCat', 'ItemImg',) क्या [' mysqli_error'] (http: // php .net/मैनुअल/en/mysqli.error.php) कहने के लिए? – urban

+0

@TRose खैर, यह सिर्फ पृष्ठ ताज़ा करें और सब कुछ रीसेट है। वैसे भी जवाब Aycan Yasit द्वारा नियुक्त किया गया है नीचे। सिर्फ 5 मिनट बुद्धि के लिए है चिह्नित करने के लिए यह धन्यवाद :) – KingsmanX

उत्तर

3

आप बस अपनी वैरिएबल प्रविष्ट नहीं है।

आप घोषित किया है जबकि तुम सिर्फ अभ्यास कर रहे हैं, मैं एसक्यूएल इंजेक्शन भेद्यता ध्यान नहीं देंगे।

$insert_product = "insert into item (product_name,product_desc,product_price,product_quantity,product_cat,product_img,keywords) 
     values ('$product_name', '$product_desc', $product_price, $product_quantity, '$product_cat', '$product_img', '$product_kw')" OR die(mysql_error()); 
+0

धन्यवाद। ध्यान नहीं दिया कि डी :. उत्तर 5 मिनट^_^मुबारक छुट्टियों के बाद चिह्नित किया जाएगा। – KingsmanX

2

आप इस

जावास्क्रिप्ट जैसे कि यह कर सकते हैं:

function callPHP() { 
    var httpc = new XMLHttpRequest(); // simplified for clarity 
    var url = "insert.php"; 
    httpc.open("POST", url, true); // sending as POST 

    httpc.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    MUST have a Content-Length header (as per HTTP/1.1) 

    httpc.onreadystatechange = function() { //Call a function when the state changes. 
    if(httpc.readyState == 4 && httpc.status == 200) { // complete and no errors 
     alert(httpc.responseText); 

     // some processing here, or whatever you want to do with the response 
     } 
    } 

    var z = document.getElementById('Textbox1').value ; 
    httpc.send('data=' + z); 
} 

insert.php

<?php 

$servername = "localhost"; 
$username = "username"; 
$password = "password"; 

$temp = $_POST['data']; 





try { 
$dbh = new PDO("mysql:host=$hostname;dbname=test",$username,$password); 

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line 
$sql = "INSERT INTO item (product_name) 
VALUES ('".$temp."')"; 
if ($dbh->query($sql)) { 
echo "success"; 
} 
else{ 
echo "fail"; 
} 

$dbh = null; 
} 
catch(PDOException $e) 
{ 
echo $e->getMessage(); 
} 
?> 
संबंधित मुद्दे