$ _POST не работает. когда я повторяю это - PullRequest
0 голосов
/ 10 мая 2018

Код:

<!DOCTYPE html >
<html>

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
 <script src="https://cloud.tinymce.com/stable/tinymce.min.js"></script>
  <script>tinymce.init({ selector:'textarea' });</script>
</head>

<body>

<form action="insert_product.php" method="post" enctype="multipart/form-data">
    <table>
            <tr>
                <td>Name</td>
                <td><input type="text" name="product_title" required="required"></td>

            </tr>

            <tr>
                <td>category</td>
                <td><select name="product_category" >
                <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_data']; 


                        echo "

                        <option>$cat_title </option>

                        ";
                        }
                ?>


                </select></td>

            </tr>


            <tr>
                <td>featured</td>
                <td><select name="product_featured" >
                <option>0</option>
                <option>1</option>
                </select></td>

            </tr>

            <tr>
                <td>price</td>
                <td><input type="text" name="product_price" required="required"></td>

            </tr>

            <tr>
                <td>image</td>
                <td><input type="file" name="product_image" required="required"></td>

            </tr>

            <tr>
                <td>keywords</td>
                <td><input type="text" name="product_keywords" required="required"></td>

            </tr>


            <tr>
                <td>description</td>
                <td><textarea name="product_description" cols="20" rows="10" ></textarea></td>

            </tr>

            <tr>
                <td><input type="submit" value="Add Product" name="insert_post"></td>
            </tr>

    </table>
</form>

</body>

</html>

<?php 
        if( isset($_POST['insert_post']))
        {

            $product_title = $_POST['$product_title'];
            $product_category = $_POST['$product_category'];
            $product_featured = $_POST['product_featured'];
            $product_price = $_POST['$product_price'];
            $product_keywords = $_POST['$product_keywords'];
            $product_description = $_POST['$product_description'];
            $product_image = $_FILES['product_image']['name'];
            $product_image_tmp = $_FILES['product_image']['tmp_name'];


        echo  $insert_product = " insert into products (product_cat, product_featured, product_title, product_price, product_desc,product_image,product_keywords) values ('$product_category','$product_featured','$product_title','$product_price','$product_description','$product_image','$product_keywords','$product_keywords')";
        }
 ?>

это результат, который я получаю из этого кода, когда я печатаю его с echo

insert into products (product_cat, product_featured, product_title, product_price, product_desc,product_image,product_keywords) values ('','1','','','','champagne culture logo men.png','','')

Может кто-нибудь сказать мне, что я делаю не так? Я неоднократно проверял, проверял, есть ли у меня орфографические ошибки или что-то в этом роде, но я не могу точно определить, что именно я делаю неправильно. Буду признателен за любую помощь, которую вы можете оказать

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Вам нужно изменить это

$product_title = $_POST['$product_title'];
$product_category = $_POST['$product_category'];
$product_featured = $_POST['product_featured'];
$product_price = $_POST['$product_price'];
$product_keywords = $_POST['$product_keywords'];
$product_description = $_POST['$product_description'];
$product_image = $_FILES['product_image']['name'];
$product_image_tmp = $_FILES['product_image']['tmp_name'];

на это

$product_title = $_POST['product_title'];
$product_category = $_POST['product_category'];
$product_featured = $_POST['product_featured'];
$product_price = $_POST['product_price'];
$product_keywords = $_POST['product_keywords'];
$product_description = $_POST['product_description'];
$product_image = $_FILES['product_image']['name'];
$product_image_tmp = $_FILES['product_image']['tmp_name'];

ПРИМЕЧАНИЕ

если не было ошибки, вам необходимоУбедитесь, что если вход не пустой, вы можете использовать свойство empty () , чтобы проверить, является ли переменная переменная / вход пустой.

как

if(empty($_POST['product_title'])) {
    echo "product title shouldn't empty";
}
0 голосов
/ 10 мая 2018

Удалите часть $ из ключа:

        $product_title = $_POST['$product_title'];
        $product_category = $_POST['$product_category'];
        $product_featured = $_POST['product_featured'];
        $product_price = $_POST['$product_price'];
        $product_keywords = $_POST['$product_keywords'];
        $product_description = $_POST['$product_description'];

Должно быть

        $product_title = $_POST['product_title'];
        $product_category = $_POST['product_category'];
        $product_featured = $_POST['product_featured'];
        $product_price = $_POST['product_price'];
        $product_keywords = $_POST['product_keywords'];
        $product_description = $_POST['product_description'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...