Loading...
Обучение/Помощь новичкам | Помогите ошибку исправить
Уже мин 30 копаюсь, говорит мол Недопустимый аргумент для foreach () , вот сам код $tags_img = $_POST['tags'];
foreach ($tags_img as $tag) {
$tage = implode(',',$tag);
var_dump($tags);}
хотя массив в $tags_img есть , переменная не пустая
весь код в студию
[Brony] pimnik98 (14.06.2018 в 21:43)
весь код в студию

на кусок <?php
$sql_tags = $conn->query("SELECT * FROM `tags`") or die(mysqli_error($conn));
while ($rows = $sql_tags->fetch_array()) {
$tags .= '<option value="' . $rows['id'] . '">' . $rows['name'] . '</option>';
$img_tags = $rows['id'];
}
$img = $_FILES['img'];
$tags_img = $_POST['tags'];

if (!empty($img && $tags_img)) {
foreach ($tags_img as $tag) {
$tage = implode("','",$tag);
var_dump($tags);}
$img_name = $img['name'];
$img_time = date('Y-m-d');
move_uploaded_file($img['tmp_name'], '../img/' . $img['name']);
$img_db = $conn->query("INSERT INTO img (id,name, img_date, tags) VALUES('0','$img_name', '$img_time','$tage')") or die(mysqli_error($conn));

$sql = $conn->query("SELECT * FROM `img` where id=(SELECT max(id) FROM img)") or die (mysqli_error($conn));
$result = $sql->fetch_array();
$img = $result['name'];


?>
Onmen ,
<?
$sql_tags = $conn->query("SELECT * FROM `tags`") or die(mysqli_error($conn));
while ($rows = $sql_tags->fetch_array()) {
$tags .= '<option value="' . $rows['id'] . '">' . $rows['name'] . '</option>';
$img_tags = $rows['id'];
}
$img = $_FILES['img'];
$tags_img = $_POST['tags'];

if (!empty($img) && $tags_img) {

foreach ($tags_img as $tag) {
$tage = implode("','",$tag);
var_dump($tags);}
$img_name = $img['name'];
$img_time = date('Y-m-d');
move_uploaded_file($img['tmp_name'], '../img/' . $img['name']);
$img_db = $conn->query("INSERT INTO img (id,name, img_date, tags) VALUES('0','$img_name', '$img_time','$tage')") or die(mysqli_error($conn));

$sql = $conn->query("SELECT * FROM `img` where id=(SELECT max(id) FROM img)") or die (mysqli_error($conn));
$result = $sql->fetch_array();
$img = $result['name'];
$_POST['tags'] не массив
Задай для select атрибут multiple
TuT (14.06.2018 в 22:12)
Onmen ,
<?
$sql_tags = $conn->query("SELECT * FROM `tags`") or die(mysqli_error($conn));
while ($rows = $sql_tags->fetch_array()) {
$tags .= '<option value="' . $rows['id'] . '">' . $rows['name'] . '</option>';
$img_tags = $rows['id'];
}
$img = $_FILES['img'];
$tags_img = $_POST['tags'];

if (!empty($img) && $tags_img) {

foreach ($tags_img as $tag) {
$tage = implode("','",$tag);
var_dump($tags);}
$img_name = $img['name'];
$img_time = date('Y-m-d');
move_uploaded_file($img['tmp_name'], '../img/' . $img['name']);
$img_db = $conn->query("INSERT INTO img (id,name, img_date, tags) VALUES('0','$img_name', '$img_time','$tage')") or die(mysqli_error($conn));

$sql = $conn->query("SELECT * FROM `img` where id=(SELECT max(id) FROM img)") or die (mysqli_error($conn));
$result = $sql->fetch_array();
$img = $result['name'];


серьёзно? я передаю на проверку обе переменных, с ними проблемы нет, проблема в цикле foreach
Nets (14.06.2018 в 22:14)
$_POST['tags'] не массив
Задай для select атрибут multiple

вот форма <form method="post" enctype="multipart/form-data" multiple="multiple">
<p><select size="3" multiple="multiple" name="tags[]">
<option disabled>Выбирите категорию</option><?= $tags ?></select></p>
<input type="file" name="img" multiple>
<input type="submit">
</form>
Nets (14.06.2018 в 22:14)
$_POST['tags'] не массив
Задай для select атрибут multiple

массив, который получает 1 строку
Онлайн: 6
Время:
Gen. 0.1037
(c) Bym.Guru 2010-2026