Я пытаюсь запустить сеанс в PHP, чтобы хранить данные об идентификаторе пользователя (который будет использоваться в базе данных mySQL).ошибки session_start, потому что «заголовки уже отправлены» одним и тем же действием session_start?
Однако, когда я начала сеанса я получаю следующие ошибки:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /Applications/MAMP/blah) in /Applications/MAMP/blah on line 38
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /Applications/MAMP/blah) in /Applications/MAMP/blah on line 38
Я понимаю, что ошибка говорит, что не может начать сеанс, как страница уже подано, или «заголовок уже послал» однако я я очень смущен, потому что линия она ссылается, строка 38, IS линия, которая начинается сеанс:
Line 38: session_start();
Так как он может сказать, что заголовки уже отправлены по этой линии, и это ошибка?
Вот сокращенный раздел моего кода. Следует отметить, что есть часть HTML, загружаемая через AJAX с помощью jQuery, может ли это быть?
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
</head>
<body>
<div class="wrapper">
<div id="quiz-section">
// This part is where the HTML content loads via AJAX
</div>
</div>
<!-- Below PHP looks at the referral i.e how the user landed on this page -->
<?php
session_start();
require 'connect.php';
if (!mysqli_query($con,"INSERT INTO entries (referral) VALUES ('$ref')")){
echo("Error description: " . mysqli_error($con));
return false;
}
$_SESSION["sessionID"] = mysqli_insert_id($con);
mysqli_close($con);
?>
</body>
<script>
// some jQuery here to load in the HTML content to the AJAX pane
</script>
</html>
Посмотрите направо под ** Связанные **. Ваш вопрос будет закрыт с использованием одной из этих ссылок/дубликатов. –
Поместите 'session_start();' перед объявлением DOCTYPE. * Morning Sam * –
Php session_start();?> Должен быть в начале страницы –