Получение session_start () предупреждения для моего недавно зарегистрированного домена - PullRequest
0 голосов
/ 25 января 2012

Я недавно зарегистрировал свой домен, и все работает нормально, но когда я использую session_start () на своих php-страницах, я получаю это предупреждение

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\inetpub\vhosts\mywebsite.com\httpdocs\sample\new.php:1) in D:\inetpub\vhosts\mywebsite.com\httpdocs\sample\new.php on line 3

 `Warning: session_start() [function.session-start]: Cannot send session 
  cache limiter - 
  headers already sent (output started at        
  D:\inetpub\vhosts\mywebsite.com\httpdocs\sample\new.php:1) in 
  D:\inetpub\vhosts\mywebsite.com\httpdocs\sample\new.php on line 3`

Что мне делатьМне нужно сделать, чтобы избавиться от этого предупреждения. Я не могу использовать session_start () на своих страницах php. Пожалуйста, помогите мне исправить это. Любая помощь очень ценится. Спасибо

Обновление Этомои страницы index и profile.php

моя страница index.php

     <?php
          session_start();
       ?>
               <!doctype HTML> some html coding goes on

моя страница profile.php

 <?php
            session_start();
    $con = mysql_connect('some', 'some', 'some');       
    $email = $_POST["nemail"];
    $password = $_POST["npassword"];
    $month = $_POST["nmonth"];
    $dayy = $_POST["ndate"];
    $yearr = $_POST["nyear"];
    $gender = $_POST["ngender"];
    $sname = $_POST["sname"];
    $status = $_POST["nrelation"];
    $rannum = 1;
    $birthday = $month . " " . $dayy . " " . $yearr;
    mysql_select_db("users_names");
            $_SESSION['unique']= $rannum;
  ?>

Я получаю эту ошибку при переходе кprofile.php from index.php

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\inetpub\vhosts\website.com\httpdocs\sample\profile.php:1) in D:\inetpub\vhosts\website.com\httpdocs\sample\profile.php on line 3

Я хочу начать сеанс на странице индекса, но я хочу присвоить значения переменным сеанса на странице profile.php, что я и сделал в профиле.php в последней строке

Ответы [ 4 ]

4 голосов
/ 25 января 2012

Ваши php-скрипты в UTF (я имею в виду, что php-файлы в кодировке Unicode)?Вы удалили запись спецификации в этом случае?Или, возможно, у вас есть пустое место (а) перед открытием тега php

Wiki

Например, в PHP, наличие спецификации приведет кстраница должна начинаться с вывода до интерпретации исходного кода, что вызывает проблемы, если страница пытается отправить пользовательские заголовки HTTP (которые должны быть установлены до начала вывода).

1 голос
/ 25 января 2012

Убедитесь, что абсолютно ничего - даже пробелы - не выводятся до вызова session_start().

1 голос
/ 25 января 2012

С вашим кодом будет проще.

Файлы cookie (файлы cookie для session_start) могут отправляться только с заголовками HTTP. Если вы уже выполнили echo или вызвали функцию headers() до функции session_start(), вы больше не можете отправлять файлы cookie, поэтому вы не можете начать сеанс, поскольку заголовки уже отправлены.

0 голосов
/ 25 января 2012

Вам нужно включить выходной буферизацию, чтобы иметь возможность использовать сеанс.Используйте функцию ob_start () где-то в начале вашего php-кода

...