Подскажите пожалуйста. Столкнулся с такой проблемой. Есть форма загрузки инфы и фото. При этом я хочу, чтобы после загрузки выводилась главная страница. НО как только добавил header, то не могу залезть на страницу админки, меня сразу перенаправляет на главную страницу. В чем дело? Ниже код Код (Text): <?php require_once 'core/config.php'; //меняем пути require_once 'core/function.php'; ?> <?php $title = $_POST['title']; $descrMin = $_POST['descr-min']; $description = $_POST['description']; move_uploaded_file($_FILES['image']['tmp_name'], 'images/'.$_FILES['image']['name']); $conn = connect(); $sql = "INSERT INTO info (title, descr_min, description, image) VALUES ('".$title."', '".$descrMin."', '".$description."', '".$_FILES['image']['name']."')"; if (mysqli_query($conn, $sql)) { header('Location: /kurs/unit_14/index.php'); //echo 'Новая запись добавлена'; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } close($conn); ?> <form action="" method="POSt" enctype="multipart/form-data"> <p>Title: <input type="text" name="title"></p> <p>Min description</p> <textarea name="descr-min"></textarea> <p>Description</p> <textarea name="description"></textarea> <p>Photo: <input type="file" name="image"></p> <p><input type="submit" value="add"></p> </form>
@Journalist, для начала надо определиться с тем, когда надо, а когда - не надо выполнять запрос на вставку значения в базу. То есть, проверить - переданы ли из формы данные, или это просто страничка открывается... а данных в $_POST - нет. А ещё есть функции фильтрации данных. И много других нюансов.
Проверка есть в файле inde.php. смысл в том, чтобы после нажатия кнопки добавить, данные уходили в базу данных, а переход осуществлялся на главную страницу. В принципе все работает, если перед тем как зайти в админку, я закомментирую header, а потом как отправлять файлы разкомментирую его.
PHP: if ($_SERVER['REQUEST_METHOD']=='POST') { // POST exit; } // GET и др. Также можно проверять на POST по наличию POST-параметров. Это все равно нужно делать! Писал уже об этом вам. Толку, вижу, ноль. --- Добавлено --- P.S. Для перенаправления по тек. адресу, чтобы его не хардкодить, можно использовать $_SERVER['REQUEST_URI']. Для гарантированного POST/Redirect/GET можно использовать статус 303 вместо дефолтного 302, хотя браузеры и 302 норм. обрабатывают.