singlepost

Вопрос о сессиях… << На главную или назад  

Пытаюсь понять как работают сессии, смотрю примеры…

пример двух файлов, в первом в сессии будут помещаться переменные, а во втором эти переменные будут получаться из сессии.

<?
// файл 1.php
session_start();
$_SESSION['asd']='aaaaaa';
$_SESSION['name']['qwe']='тест';
?>
<a href="2.php">тест</a>

<?
// файл 2.php
session_start();
print $_SESSION['asd'];
print $_SESSION['name']['qwe'];
?>

и при тестировании на денвере выдает

Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at Z:\home\ test1 . ru \www\ 1 . php :11) in Z:\ home\ test1. ru \www \1.php on line 13

Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at Z:\home\ test1 . ru \www\ 1 . php:11) in Z:\home\ test1 . ru \www \1.php on line 13
тест

может кто подскажет в чем дело, что за ошибка?

18 ответов в теме “Вопрос о сессиях…”

  1. 14
    Сережка Юрченко ответил:

    это глюк денвера….на хосте все будет работать…

  2. 13
    Роман Стоянов ответил:

    <? session_start() ?> в самом начале файла нужно поставить

  3. 12
    Леша Валко ответил:

    а может просто обыкновенный пробел где-то поставил нечайно и не заметил ^^

  4. 11
    Руслан Прояев ответил:

    Да-да))

  5. 10
    Ваня Курза ответил:

    Ну и в программировании мистика иногда тоже встречается :)
    Это как посмотреть на свой-же код 5-ти летней давности… сначала 10 минут въезжаешь "чего оно мутит", а потом еще 20 минут окуеваешь "как оно вапще работает – мистика"

  6. 9
    Руслан Прояев ответил:

    не-а. Я сам с сессиями хорошо знаком, файл без инклудов, просто единичный пхп файл, откуда оон брад заголовки-хз)

  7. 8
    Ваня Курза ответил:

    Ну фиг его знает я с такими проблемами никада не сталкивался :) Может у вас в инклудах чего-то уже выводилось?

  8. 7
    Руслан Прояев ответил:

    Ваня Phobos Курза, ага, именно так, но у самого бывали такие случаи, когда делаю все верно вроде бы, никакого вывода до сессии, а все равно пишет, что заголовки уже отправлены. Пришлось с помощью .htaccess делать

  9. 6
    Ваня Курза ответил:

    Все работы с хедерами/сессиями/куками должны ОБЯЗАТЕЛЬНО быть перед каким-либо выводом данных в браузер. И желательно весь РНР выполнять перед выводом (вывод желательно должен быть в последнюю очередь) и обязательно смотрите за пробелами перед <?php

  10. 5
    Руслан Прояев ответил:

    если вариант Жени не поможет, попробуй создать файл .htaccess и запихни туда строку
    php_value session.auto_start 1

  11. 4
    Евгений Бычков ответил:

    второй так же

  12. 3
    Евгений Бычков ответил:

    <?php
    session_start();
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http: // www . w3 . org / TR / html4 / loose . dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Untitled Document</title>
    </head>

    <body>

    <?
    // файл 1.php

    $_SESSION['asd']='aaaaaa';
    $_SESSION['name']['qwe']='тест';
    ?>
    <a href="2.php">тест</a>

    </body>
    </html>

  13. 2
    Феликс Кор ответил:

    в 13 строке стоит session_start();

    вот целиком эти два файла…
    файл первый
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http: // www . w3 . org / TR / html4 / loose . dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Untitled Document</title>
    </head>

    <body>

    <?
    // файл 1.php
    session_start();
    $_SESSION['asd']='aaaaaa';
    $_SESSION['name']['qwe']='тест';
    ?>
    <a href="2.php">тест</a>

    </body>
    </html>

    и файл второй
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http: // www . w3 . org / TR / html4 /loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Документ без названия</title>
    </head>

    <body>

    <?
    // файл 2.php
    session_start();
    print $_SESSION['asd'];
    print $_SESSION['name']['qwe'];
    ?>

    </body>
    </html>

  14. 1
    Евгений Бычков ответил:

    приглядись в ошибку…сервер говорит что проблемы с 13 строкой!ты её покажи или то что ты нам написал весь скрипт?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.