Расположение заголовка PHP не работает с чистыми URL

    <?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 выдает ошибку не может изменить местоположение заголовка
любезно помогите

Ошибка PHP

0

Решение

Я хотел бы оставить комментарий, но у меня нет репутации.

В любом случае, вероятно, вы видите ошибку о уже отправленных заголовках. Это общая проблема, и она не имеет ничего общего с чистыми URL. что ты можешь сделать?

Проблема основана на том, как работает веб-сервер и HTTP. При выводе сервер отправит заголовки и контент, как только он будет готов. И вы можете выводить даже пробелы, поэтому сначала проверьте это дважды.

Если по какой-либо причине вам нужно что-то вывести до манипулирования заголовками, вы можете включить буферизацию вывода. Таким образом, сервер сначала «буферизует» ваши данные, а затем отправляет все. Но вы платите за это временем загрузки. Используйте только редко, когда это действительно необходимо!

Ты можешь использовать ob_start ()за это

2

Другие решения

Если это ваш PHP-скрипт, я могу видеть пробелы раньше <?php тег.

    <?php
^^^^--- WHITESPACES

Эти пробелы будут записаны в выходной буфер даже до запуска интерпретатора PHP и при вызове header() это даст ошибку. Это связано с тем, что перед вызовом клиенту не следует отправлять выходные данные. header(),

1

По вопросам рекламы [email protected]