<?php
$result = mysqli_query($link, $query);
$url=$_SERVER['REQUEST_URI'];
if (!$result) {
$url.="/signup";
header("Location:".$url);
} else {
$url.="/home";
header("Location:".$url);
}
?>
Привет друзья! У меня небольшая проблема. Я делаю проект и использую чистые URL-адреса. Мой htaccess хорош, все идет хорошо, но после отправки формы регистрации, когда я хочу изменить местоположение заголовка
php выдает ошибку не может изменить местоположение заголовка
любезно помогите
Я хотел бы оставить комментарий, но у меня нет репутации.
В любом случае, вероятно, вы видите ошибку о уже отправленных заголовках. Это общая проблема, и она не имеет ничего общего с чистыми URL. что ты можешь сделать?
Проблема основана на том, как работает веб-сервер и HTTP. При выводе сервер отправит заголовки и контент, как только он будет готов. И вы можете выводить даже пробелы, поэтому сначала проверьте это дважды.
Если по какой-либо причине вам нужно что-то вывести до манипулирования заголовками, вы можете включить буферизацию вывода. Таким образом, сервер сначала «буферизует» ваши данные, а затем отправляет все. Но вы платите за это временем загрузки. Используйте только редко, когда это действительно необходимо!
Ты можешь использовать ob_start ()за это
Если это ваш PHP-скрипт, я могу видеть пробелы раньше <?php
тег.
<?php
^^^^--- WHITESPACES
Эти пробелы будут записаны в выходной буфер даже до запуска интерпретатора PHP и при вызове header()
это даст ошибку. Это связано с тем, что перед вызовом клиенту не следует отправлять выходные данные. header()
,