Я очень новичок в PHP. Кодирую мой первый сайт.
index.php
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="en">
<form action="authenticate.php" method="post">
//form inputs
</form>
</body>
</html>
Форма вызывает authenticate.php:
<?php
session_start();
//Authenication work
//...
// line 43 here
if(!$authen){
include_once("index.php");
}
else{
header('Location: main.php');
exit();
}
?>
Всякий раз, когда я запускаю веб-сайт и вход в систему, как только я нажимаю на Отправить кнопка в форме, вместо того, чтобы быть перенаправлены на main.php
, Я перенаправлен в браузере authenticate.php
и я вижу это:
Текст в изображении:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/html/projet/authenticate.php:1) in /var/www/html/projet/authenticate.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/projet/authenticate.php:1) in /var/www/html/projet/authenticate.php on line 51
мой main.php
код (страница, на которую я должен был быть перенаправлен):
<?php session_start(); ?>
<html>
<head>
...
Вещи, которые я пробовал до сих пор:
<?php
и после ?>
Я в отчаянии. Обратите внимание, что тот же веб-сайт и файлы работают локально на wampserver, но когда я помещаю их на сервер, это произошло.
Я что-то пропустил? Извини я совершенно новый для PHP и я учусь
Также вопросы:
Существует 2 типа кодировки UTF-8. Один с спецификацией (меткой порядка байтов) и один без. Если вы не указали без знак порядка байтов, то есть проблема. Это должно быть без спецификации.
Вам нужно восстановить все ваши файлы без него.
Рекомендации:
Порядок следования байтов — это невидимый набор символов, который также может учитывать вывод перед заголовком.
Других решений пока нет …