2016-10-13 4 views
-2

Я делаю вставку для добавления продукта в базу данных mysql. Я использую команду echo для печати запроса. Напечатанный запрос показывает пустые значения, как это:Получение пустых значений формы с использованием php и post

* Примечание: Не определено индекс: product_cat в F: \ Apache24 \ HTDOCS \ site1 \ Admin \ product_add.php на линии 40

Примечание: Undefined индекс: product_brand в F: \ Apache24 \ HTDOCS \ site1 \ Admin \ product_add.php на линии 41

Примечание: Undefined индекс: PRODUCT_TITLE в F: \ Apache24 \ HTDOCS \ site1 \ Admin \ product_add.php на линии 42

Примечание: Неопределенный индекс: product_price в F: \ Apache24 \ htdocs \ Site1 \ admin \ product_add.php в строке 43

Примечание: Undefined индекс: PRODUCT_DESCRIPTION в F: \ Apache24 \ HTDOCS \ site1 \ Admin \ product_add.php на линии 44

Примечание: Undefined индекс: product_keywords в F: \ Apache24 \ HTDOCS \ site1 \ админ \ product_add.php на линии 45

Примечание: Undefined индекс: product_images в F: \ Apache24 \ HTDOCS \ site1 \ Admin \ product_add.php на линии 48

Примечание: Undefined индекс: product_images в F: \ Apache24 \ htdocs \ Site1 \ admin \ product_add.php в строке 49

Вставить в продукты ('product_cat', 'product_brand', 'product_title', 'product_price', 'product_desc', 'product_image', 'product_keywords') значения ('', '', '', '', '', '', '') *

Это html-форма. Кроме того, страница действия:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Admin Panel - Add Products</title> 
    <link rel="stylesheet" type="text/css" href="../styles/admin-style.css"> 
    <script src="//cdn.tinymce.com/4/tinymce.min.js"></script> 
    <script>tinymce.init({ selector:'textarea' });</script> 

    <?php 
    include("../includes/connect.php"); 
    function getcats_add_products(){ 
     global $con; 
     $get_cats="select * from categories"; 
     $run_cats=mysqli_query($con, $get_cats);     
     echo "<option>Select Category</option>"; 

     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>"; 
     } 
    } 

    function getbrands_add_products(){ 
     global $con; 
     $get_brands="select * from brands"; 
     $run_brands=mysqli_query($con, $get_brands);     
     echo "<option>Select Brand</option>"; 

     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>"; 
     } 
    } 


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

    $product_cat = $_POST['product_cat']; 
    $product_brand = $_POST['product_brand']; 
    $product_title = $_POST['product_title']; 
    $product_price = $_POST['product_price']; 
    $product_desc = $_POST['product_description']; 
    $product_keywords = $_POST['product_keywords']; 


    $product_images = $_FILES['product_images']['name']; 
    $product_images_temp = $_FILES['product_images']['tmp_name']; 

    $product_query = "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_images', 
    '$product_keywords') "; 
    echo $product_query; 
    } 

    ?> 

</head> 
<body> 
    <div class="wrapper"> 
    <header> 

    </header> 
    <div class="heading">Add New Product</div> 
    <div class="product-table-div"> 
     <form method="POST" action="" enctype="multipart/form-data"> 
      <table class="product-table" border="1"> 
       <tr> 
        <td id="product-add-label">Product Category</td> 
        <td> 
         <select id="product-table-input" name="product-cat"> 
          <?php getcats_add_products(); ?> 
         </select> 
        </td> 
       </tr>  
       <tr>  
        <td id="product-add-label">Product Brand</td> 
        <td> 
         <select id="product-table-input" name="product-brand"> 
          <?php getbrands_add_products(); ?> 
         </select> 
        </td> 
       </tr>  
       <tr> 
        <td id="product-add-label">Product title</td> 
        <td> 
         <input type="text" name="product-title" id="product-table-input"> 
        </td> 
       </tr>  
       <tr> 
        <td id="product-add-label">Product Price</td> 
        <td> 
         <input type="number" name="product-price" id="product-table-input"> 
        </td> 
       </tr>  
       <tr> 
        <td id="product-add-label">Product description</td> 
        <td> 
         <textarea rows="10" cols="30" name="product-description"></textarea> 
        </td> 
       </tr>  
       <tr> 
        <td id="product-add-label">Product image</td> 
        <td> 
         <input type="file" name="product-images" id="product-table-input"> 
        </td> 
       </tr>  
       <tr> 
        <td id="product-add-label">Product Keywords</td> 
        <td> 
         <input type="text" name="product-keywords" id="product-table-input"> 
        </td> 
       </tr> 
       <tr> 
        <td colspan="2"> 
         <div id="product-submit-div"> 
          <input type="reset" name="submitreset" id="product-submit" value="Clear"> 
          <input type="submit" name="submit" id="product-submit" value="Add"> 
         </div> 
        </td> 
       </tr> 
      </table> 
     </form> 
    </div> 
    </div> 
</body> 
</html> 

Это расположение этой странице корневая> админ> product_add.php. В чем проблема? О, я также использовал текстовый редактор tinymce в текстовом поле.

+0

принимает неверное имя поля как $ _POST [ 'product_cat'], но имя поля продукта кошки. Используйте этот $ _POST ['product-cat']; –

ответ

0

Вы используете символы Hyphen - в формате HTML для названий полей; но когда вы пытаетесь читать на PHP, вы используете символы подчеркивания.

$product_cat = $_POST['product_cat']; 
$product_brand = $_POST['product_brand']; 
$product_title = $_POST['product_title']; 
$product_price = $_POST['product_price']; 
$product_desc = $_POST['product_description']; 
$product_keywords = $_POST['product_keywords']; 

Используйте ниже код вместо выше

$product_cat = $_POST['product-cat']; 
$product_brand = $_POST['product-brand']; 
$product_title = $_POST['product-title']; 
$product_price = $_POST['product-price']; 
$product_desc = $_POST['product-description']; 
$product_keywords = $_POST['product-keywords']; 
Смежные вопросы