2015-02-06 2 views
-5

Я пытаюсь запустить сеанс в 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> 
+3

Посмотрите направо под ** Связанные **. Ваш вопрос будет закрыт с использованием одной из этих ссылок/дубликатов. –

+1

Поместите 'session_start();' перед объявлением DOCTYPE. * Morning Sam * –

+0

Должен быть в начале страницы –

ответ

1

Вы выводите HTML до session_start(). Поместите ваш PHP-код над кодом HTML.

Смежные вопросы