Я создаю программу, в которую человек может вставить любой товар с его изображением. Проблема, с которой я столкнулся, заключается в том, что если я ввожу сведения о продукте и не загружаю изображение, если я нажимаю кнопку «Отправить», он вставляет записи.
Я хочу, чтобы он не вставлял запись, если пользователь не загрузил изображение. Короче говоря Я также хочу использовать проверку изображений. Я использовал (isset) с полями продукта, но когда я использую (isset) с изображением, он выдает мне следующие сообщения об ошибках, и если я просто удалю isset($_POST['files[]']), он отлично работает, но перестает проверять Поля изображения.
Здесь я делюсь кодом. Кодекс довольно длинный. Любая помощь будет оценена по достоинству.
Пожалуйста, заполните все поля
silverbrooches.jpg
У вас ошибка в синтаксисе SQL; обратитесь к руководству, которое соответствует версии вашего сервера MySQL, на предмет правильного синтаксиса для использования рядом с ''silverbrooches.jpg', 'upload/products/32046silverbrooches.jpg')' в строке 2
Gold_Ring2.pngУ вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с ''Gold_Ring2.png', 'upload/products/207Gold_Ring2.png')' в строке 2
Necklaces_Diamond.pngУ вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, на предмет правильного синтаксиса для использования рядом с «Necklaces_Diamond.png», «upload/products/6748Necklaces_Diamond.png») в строке 2.
<?php
//Use Category_id insted of Sub_category_id
session_start();
if (isset ($_SESSION['username']) )
{
//echo "<div id='nav'";
echo "<ul><hr>
<li><a href='insert_product.php' >Add Product </a></li>
<li><a href='add_category.php'> Add Category </a></li>
<li><a href='add_sub_category.php'> Add Sub-Category </a></li>
<li><a href = 'view_products.php' >View All Products</a> </li>
<li><a href = 'all_categories.php' >View All Categories</a> </li>
<li><a href='view_all_sub_categories.php'>View All Sub Categories</a></li>
</ul></hr>";
error_reporting(E_PARSE); //To Remove Notices!!
global $current_id;
//$GLOBALS $current_id;
if(isset($_SESSION['username']))
{
include 'connect.php';
// $select_query= 'Select * from category';
// $select_query_run = mysql_query($select_query);
echo "<div id='line' >
<div id='form'>";
echo "
<form action='insert_product.php' method='POST' enctype='multipart/form-data' >
<table border=1>
<tr>
<td>
<label>Product Name:</label> </td> <td><input type='text' name='product_name' />*Required</td></tr>
<tr><td><label>Item No:</label></td> <td><input type='text' name='item_no' ></td></tr>
<tr><td>Recipient </td> <td> <input type='text' name='recipient' ></td></tr>
<tr><td> Total Carat Weight</td> <td><input type='text' name= 'total_carat_weight' ></td></tr>
<tr><td> Metal </td><td><input type='text' name='metal' ></td></tr>
<tr><td> Stone Shape </td><td><input type='text' name='stone_shape' ></td></tr>
<tr><td> Stone Type</td><td> <input type='text' name='stone_type'></td></tr>
<tr><td> Stone Setting</td><td> <input type='text' name='stone_setting'></td></tr>
<tr><td> Wastage </td><td><input type='text' name='wastage'></td></tr></br></br>
<tr><td> Retail_price </td><td><input type='text' name='retail_price' ></td></tr>
<tr><td> Actual Price: </td><td> <input type= 'text' name= 'price' /></td></tr>*Required
<tr><td> Description:</td><td><input type='text' name='description' /></td></tr>
<tr><td> Image1:</td><td> <input type='file' name= 'files[]' ></td></tr> *Required
<tr><td> Image2:</td><td> <input type='file' name= 'files[]' ></td></tr>
<tr><td> Image3:</td><td> <input type='file' name= 'files[]' ></td></tr></table> ";
/*------------------
Drop Down List Start
------------------ */
/*----------------
Drop Down List
---------------*/
echo "<select name='category'>";
$select_query= 'Select * from category';
$select_query_run = mysql_query($select_query);
$sub_category_query="Select * from sub_categories
where category_id='".$select_query_array['category_id']."'";
// $sub_category_query="Select * from sub_categories ";
// $sub_query_run= mysql_query($sub_category_query);
while ($select_query_array= mysql_fetch_array($select_query_run) ) {
echo "<optgroup label='".$select_query_array['name']."' >".
//$sub_category_query="Select * from sub_categories";
$sub_category_query="Select * from sub_categories
where category_id='".$select_query_array['category_id']."'";
$sub_query_run= mysql_query($sub_category_query);
while ($sub_query_run_fetch= mysql_fetch_array($sub_query_run) ) {
echo "<option value='".$sub_query_run_fetch['sub_category_id'] . "' >" .
htmlspecialchars($sub_query_run_fetch['sub_category_name']) . "</option>";
}
echo "</optgroup>";
}
echo "</br>";
$selectTag= "</br><input type='submit' value='Insert Product' /></select></form>";
echo "</div></div>";
echo $selectTag;
/*----------------
Drop Down List
---------------*/
/*-----------------
Drop Down List End
------------------*/
if(isset($_POST['product_name']) && isset($_POST['price']) && isset($_POST['description'] )
&& isset($_POST['files[]'])
)
{
$product_name = $_POST['product_name'];
$price = $_POST['price'];
$description = $_POST['description'];
$category = $_POST['category'];
$query= "insert into products (name, sub_category_id )
VALUES( '$product_name', $category )";
if($query_run= mysql_query($query) )
{
echo 'Data Inserted';
$current_id= mysql_insert_id();
//$_SESSION['current_id']= mysql_insert_id();
}
else
{
'Error In SQL'.mysql_error();
}
/*-----------------
INSERT Description!!
-------------------*/
$item_no= $_POST['item_no'];
$recipient= $_POST['recipient'];
$total_carat_weight= $_POST['total_carat_weight'];
$metal= $_POST['metal'];
$stone_shape= $_POST['stone_shape'];
$stone_type = $_POST['stone_type'];
$stone_setting = $_POST['stone_setting'];
$wastage = $_POST['wastage'];
$retail_price = $_POST['retail_price'];
$query_description= "insert into product_description VALUES($current_id,'$item_no','$recipient',
'$total_carat_weight','$metal','$stone_shape','$stone_type','$stone_setting',
'$wastage','$retail_price','$price' ,'$description' ) ";
if(mysql_query($query_description))
{
echo 'Insert descrition successfull';
}
else
{
echo mysql_error();
}
}
else
{
echo '</br>Plesae fill all the Fields';
}
/*-----------------
IMAGE QUERY 2
------------------*/
if (isset($_FILES['files'])
|| ($_FILES["files"]["type"] == "image/jpeg"))
{
foreach($_FILES['files']['tmp_name'] as $key=> $tmp_name)
{
//echo $tmp_name."<br>";
echo $image_name= $_FILES["files"]["name"][$key];
$random_name= rand().$_FILES["files"]["name"][$key];
$folder="upload/products/" .$random_name;
move_uploaded_file($_FILES["files"]["tmp_name"][$key],
"upload/products/" . $random_name);
// print_r($_FILES);
$sql = "Insert into product_images (product_id,name,images)
VALUES ($current_id,'$image_name', '$folder')";
if (mysql_query($sql))
{
echo 'Done';
}
else
{
echo mysql_error();
}
}
}
/*-----------------
IMAGE QUERY 2- END
------------------*/
}
else
{
echo 'You Must Log in To View this Page!';
}
}
else
{
echo "You Must need to login to View this Page";
}
?>
$_POST
приносит все входные данные, где для файлов вам нужно использовать$_FILES
php.net/manual /en/reserved.variables.files.php - person zzlalani   schedule 15.08.2013isset()
, а проверьтеif ($_FILES['name'] != "")
- person zzlalani   schedule 15.08.2013$_FILES['files']['name']
, либо$_FILES['files']['tmp_name']
, - person zzlalani   schedule 15.08.2013$_FILES['files']
на самом деле является массивом - person zzlalani   schedule 15.08.2013isset()
..isset
всегда будет возвращать true, если у вас уже есть поле формы для него, например.<input type='text' name='fname'>
и вы проверяетеisset($_POST['fname'])
, так как он установлен, он не будет проверять, пусто ли ваше текстовое поле или нет. - person zzlalani   schedule 15.08.2013if (trim($_POST['fname']) != "")
, поэтому, если пользователь оставил поле пустым, ваш код остановится на этом и перейдет к другому. - person zzlalani   schedule 15.08.2013trim()
на самом деле обрежет пробелы с обеих сторон... с начала и с конца... - person zzlalani   schedule 15.08.2013