Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > форма и сессия


Автор: Sniper 10.7.2007, 10:46
не пойму я что-то.  smile

так работает:

script1.php
Код

session_start();
$_SESSION['username'] = "coolname";

script2.php
Код

session_start();
echo $_SESSION['username']; 


а вот так уже нет:
script1.php
Код

<form id="Instruments" method="post" action="script2.php"> 
<select name="Instruments">
    <option value="inst1">inst1</option>
    <option value="inst2">inst2</option>
    <option value="inst3">inst3</option>
</select>
    <input type="submit" name="pos" value="Далее" />
</form>
    <?php    
        if ( isset ( $_POST['pos'] ) ) {
        session_start();
        $_SESSION['username'] = "coolname";
        }
    ?>


script2.php
Код

session_start();
echo $_SESSION['username']; 


Автор: sTa1kEr 10.7.2007, 11:07
Sniper, session_start() надо вызывать до отправки каких либо данных браузеру, т.к. она устанавливает куки через хидеры. А так же session_start() надо вызывать всегда, а не только по субмиту формы.

Автор: GZep 10.7.2007, 12:47
если преспичило писать session_start() гденить в середине - смотрите http://php.net/ob_start

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)