1
Я написал несколько форм, но это не сработает. Инспектор кода говорит мне, что что-то не так с функцией move_uploaded_file. Может ли кто-нибудь сказать мне, в чем проблема?php forms multiple input upload
Мой HTML-код:
<div class="setting post">
<form action="add-banner.php" method="post" enctype="multipart/form-data">
<input type="text" name="banner-title" placeholder="enter new banner title"><br>
<select name="banner-cat">
<?php
$get_cats = mysqli_query($db,'select * from cats');
while($row = mysqli_fetch_assoc($get_cats)){
?>
<option value="<?php echo $row['id']?>"><?php echo $row['cat_name'] ?></option>
<?php
}
?>
</select>
<br>
<input type="file" name="banner">
<br>
<input type="submit" name="upload" value="add new banner">
</form>
</div>
и это мой PHP код:
<?php
require_once 'db.php';
global $db;
$banner_title = $_POST['banner-title'];
$banner_cat = $_POST['banner-cat'];
$banner = $_FILES['banner']['name'];
$banner_tmp = $_FILES['banner']['tmp_name'];
$upload_file = move_uploaded_file($banner_tmp,'../../images/$banner');
$insert_banner = mysqli_query($db,"insert into banner(banner_title,banner_cat,banner_link) values ('$banner_title','$banner_cat','$banner')");
if($insert_banner && $upload_file){
$message = 'New banner Succesfully added';
echo "<script>
alert('".$message."');
window.location.href='post.php';
exit;
</script>";
}else{$message = 'Something goes Wrong';
echo "<script>
alert('".$message."');
window.location.href='post.php';
exit;
</script>";
}
?>
Этот код обладает множеством уязвимостей: несанкционированные входные данные используются для создания запроса и выполнения операций с файловой системой. Это рулетка с автоматом. Google up SQL-инъекция, и оглядывайтесь вокруг того, как дезинфицировать ваши входы, или ваш сайт находится в опасности. – ppeterka