Мне нужна небольшая помощь или совет. Я создаю расширенную форму хранения в PHP PDO. В форме должно быть загружено изображение поста (изображение заголовка) и изображения галереи (несколько изображений хранятся в базе данных в той же базе данных). Я сделал с хранения одного изображения в базе данных, но я застрял с несколькими изображениями магазина в той же базе данных. Я поставлю свой код здесь.
<?php require('includes/config.php');
//if not logged in redirect to login page
if(!$user->is_logged_in()){ header('Location: index.php'); }
// Upload posted information
include('core/connection.php');
include('functions/main.php');
if($_POST){
$nameproduct = $_POST['nameProduct'];
$categoryproduct = $_POST['categoryProduct'];
$keywordproduct = $_POST['keywordProduct'];
$addressproduct = $_POST['addressProduct'];
$latproduct = $_POST['latProduct'];
$lonproduct = $_POST['lonProduct'];
$locationproduct = $_POST['locationProduct'];
$telproduct = $_POST['telProduct'];
$emailproduct = $_POST['emailProduct'];
$siteproduct = $_POST['siteProduct'];
$pdate = date("Y-m-d H:i:s");
if(empty($nameproduct) or empty($keywordproduct)){
$errors = '<div class="error2"><p> All fields are required. Please try again</p></div>';
}else{
if (isset($_FILES['post_image'])===true) {
if (empty($_FILES['post_image']['name']) ===true) {
$errors = '<div class="error2">Please Choose a Post Image</div>';
}else {
$allowed = array('jpg','jpeg','gif','png');
$file_name = $_FILES['post_image']['name'];
$file_extn = strtolower(end(explode('.', $file_name)));
$file_temp = $_FILES['post_image']['tmp_name'];
if (in_array($file_extn, $allowed)===true) {
$file_parh = 'images/' . substr(md5(time()), 0, 10).'.'.$file_extn;
move_uploaded_file($file_temp, $file_parh);
$query = $pdo->prepare("INSERT INTO `go-wp`.`products` (`post_id`, `nameProduct`, `categoryProduct`, `keywordProduct`, `addressProduct`, `latProduct`, `lonProduct`, `locationProduct`, `telProduct`, `emailProduct`, `siteProduct`, `post_date`, `post_image`) VALUES (NULL, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$query->bindValue(1, $nameproduct);
$query->bindValue(2, $categoryproduct);
$query->bindValue(3, $keywordproduct);
$query->bindValue(4, $addressproduct);
$query->bindValue(5, $latproduct);
$query->bindValue(6, $lonproduct);
$query->bindValue(7, $locationproduct);
$query->bindValue(8, $telproduct);
$query->bindValue(9, $emailproduct);
$query->bindValue(10, $siteproduct);
$query->bindValue(11, $pdate);
$query->bindValue(12, $file_parh);
$query->execute();
header('Location: view_product.php');
}
}
}
}
}
?>
Код выше настоящего хранит одно изображение в базе данных (работает хорошо). Но когда я добавляю в код HTML следующий код (ниже), у меня возникают проблемы. Что написать, как создать хороший сценарий. Я открываю форму html <form action="" method="post" enctype="multipart/form-data">
<div class="col-md-4">
<div class="act-widget fl-wrap">
<div class="profile-edit-header fl-wrap">
<h4>Gallery product</h4>
</div>
<div class="add-list-media-wrap fuzone">
<div class="fu-text">
<span><i class="fa fa-picture-o"></i> Add multiple images</span>
</div>
<input class="input-group" class="upload" type="file" name="post_image" id="imgInput" />
</div>
</div>
</div>
Полный HTML код выглядит следующим образом:
<form action="" method="post" enctype="multipart/form-data">
<div class="profile-edit-container add-list-container">
<div class="profile-edit-header fl-wrap">
<h4>Information product</h4>
</div>
<div class="custom-form">
<label>Product name<i class="fa fa-briefcase"></i></label>
<input type="text" name="nameProduct" placeholder="Product name" value=""/>
<div class="row">
<div class="col-md-6">
<label>Category</label>
<select name="categoryProduct" data-placeholder="Select product category:" class="chosen-select">
<option value="Choose category" selected>Choose category:</option>
<option value="Category1">Category1</option>
<option value="Category2">Category2</option>
<option value="Category3">Category3</option>
<option value="Category4">Category4</option>
</select>
</div>
<div class="col-md-6">
<label>Keywords<i class="fa fa-key"></i></label>
<input type="text" name="keywordProduct" placeholder="Max 5 keywords" value=""/>
</div>
</div>
</div>
</div>
<div class="profile-edit-container add-list-container">
<div class="profile-edit-header fl-wrap">
<h4>Product location</h4>
</div>
<div class="custom-form">
<label>Address<i class="fa fa-map-marker"></i></label>
<input type="text" name="addressProduct" placeholder="Address" value=""/>
<div class="row">
<div class="col-md-6">
<label>Latitude:<i class="fa fa-map-marker"></i></label>
<input type="text" name="latProduct" id="lat" placeholder="Latitude" value=""/>
</div>
<div class="col-md-6">
<label>Longitude:<i class="fa fa-map-marker"></i></label>
<input type="text" name="lonProduct" id="long" placeholder="Longitude" value=""/>
</div>
</div>
<div class="map-container">
<div id="singleMap" data-latitude="40.7427837" data-longitude="-73.11445617675781"></div>
</div>
<label>Location</label>
<select name="locationProduct" data-placeholder="Location" class="chosen-select" >
<option value="Choose location" selected>Choose location:</option>
<option value="Location1">Location1</option>
<option value="Location2">Location2</option>
<option value="Location3">Location3</option>
<option value="Location4">Location4</option>
<option value="Location5">Location5</option>
<option value="Location6">Location6</option>
</select>
<label>Phone<i class="fa fa-phone"></i></label>
<input type="text" name="telProduct" placeholder="Phone" value=""/>
<label>Email<i class="fa fa-envelope-o"></i></label>
<input type="text" name="emailProduct" placeholder="Email" value=""/>
<label>Site<i class="fa fa-globe"></i></label>
<input type="text" name="siteProduct" placeholder="Site" value=""/>
</div>
</div>
<div class="col-md-4">
<div class="act-widget fl-wrap">
<div class="profile-edit-header fl-wrap">
<h4>Header image</h4>
</div>
<div class="add-list-media-wrap fuzone">
<div class="fu-text">
<span><i class="fa fa-picture-o"></i> Add header image</span>
</div>
<input class="input-group" class="upload" type="file" name="post_image" id="imgInput" />
</div>
</div>
</div>
<div class="col-md-4">
<div class="act-widget fl-wrap">
<div class="profile-edit-header fl-wrap">
<h4>Gallery image</h4>
</div>
<div class="add-list-media-wrap fuzone">
<div class="fu-text">
<span><i class="fa fa-picture-o"></i> Add gallery images</span>
</div>
<input class="input-group" class="upload" type="file" name="post_image" id="imgInput" />
</div>
</div>
</div>
<div class="custom-form">
<button name="submit" class="btn big-btn color-bg flat-btn">Add product<i class="fa fa-angle-right"></i></button>
</div>
</form>
Как сгенерировать код для хранения многообразных изображений в базе данных с этим кодом. Спасибо всем