Проблема с PHP «Не удается отправить сеансовый файл cookie»

Введите код:

<?PHP session_start(); if (isset($_POST["usernameform"])){ $username = $_POST['usernameform']; $password1 = $_POST['passwordform']; $user_name = "XXXX"; $password = "XXXXX"; $database = "XXX"; $server = "XXXX"; $db_handle = mysql_connect($server, $user_name, $password); $db_found = mysql_select_db($database, $db_handle); $SQL = "SELECT * FROM login WHERE Username = '$username' AND Password = '$password1' "; //grab all the records from table $result = mysql_query($SQL) or die("Error:" . mysql_error()); if (mysql_num_rows($result) > 0){ //if username and password match return number of rows is always 1 $_SESSION['login'] = $username; //by placing this in session it will remember this variable on the page it directs too while ( $row = mysql_fetch_assoc($result) ){ //lays out array in $result $_SESSION['ID'] = $row['ID']; //selects from list of array ID $_SESSION['firstname'] = $row['First_Name']; echo'<script> window.location="page1.php"; </script> '; } } else { $_SESSION['login'] = ''; print(' <script type="text/javascript"> //place html script for alert. Use single comma for print command here. alert("Sorry, your username or password could not be recognized") </script> '); session_destroy(); } } ?> 

Хотя код отлично работает на моем localhost (wampserver), он не работает на моем хосте, и я получаю ошибки:

Предупреждение: session_start () [function.session-start]: не удается отправить cookie сеанса – уже отправленные заголовки (вывод запущен в /…/vhindex.php:1) в /…/vhindex.php в строке 2

Предупреждение: session_start () [function.session-start]: Не удается отправить ограничитель кеша сеанса – уже отправленные заголовки (вывод запущен в /…/vhindex.php:1) в /…/vhindex.php в строке 2

session_start(); код был помещен в верхнюю часть блока PHP и до того, как будет выполнен какой-либо вывод HTML, и я полностью заблокирован.

Есть идеи?

Solutions Collecting From Web of "Проблема с PHP «Не удается отправить сеансовый файл cookie»"

  • Загрузите Notepad ++ и откройте там файл, удалите все причудливые символы перед <?PHP
  • Убедитесь, что перед <?PHP нет символа пробела, например «» или вкладки или строки.
    • В Notepad ++ щелкните Encoding а затем UTF-8 without BOM чтобы преобразовать файл в UTF-8 без спецификации, а затем сохраните его.
  • Также добавьте ob_start(); перед session_start(); чтобы быть в безопасности.

Если вы загрузите этот -pp-файл из vhindex.php. Убедитесь, что это сделано в правильном порядке. Например. require_once'handle-пользователь-login.php '; callToYourFunction ();

Если ваш сеанс уже отправлен, вы получите это предупреждение. (Да, как говорит код ошибки).