За последние 24 часа нас посетили 22260 программистов и 1029 роботов. Сейчас ищут 649 программистов ...

Явная инициализация переменных

Тема в разделе "PHP для новичков", создана пользователем dobermann_arb, 28 авг 2006.

  1. dobermann_arb

    dobermann_arb Активный пользователь

    С нами с:
    10 авг 2006
    Сообщения:
    62
    Симпатии:
    0
    Подскажите пожалуйста. Начал работать с сессиями на странице регистрациии заношу данные в массив $_SESSION['id'] и затем работаю с ними на других страницах. В php.ini register_globals = On. Теперь ставлю register_globals = OFF и ни чего неработает прочитал в книге что нужно явно инициализировать переменные, но как это сделать не описано, подскажите как переписать код чтоды все работало.
     
  2. Mavir

    Mavir Guest

    Обращаться к переменным сессии надо также, как и пишешь $id=$_SESSION['id'];
     
  3. dobermann_arb

    dobermann_arb Активный пользователь

    С нами с:
    10 авг 2006
    Сообщения:
    62
    Симпатии:
    0
    дело в том что он не передает массив на другую страницу
     
  4. Mavir

    Mavir Guest

    A session_start() перед записью и чтением $_SESSION вызываешь?
     
  5. dobermann_arb

    dobermann_arb Активный пользователь

    С нами с:
    10 авг 2006
    Сообщения:
    62
    Симпатии:
    0
    нет. У меня не передаются данные из формы на странице index.php на страницу register.php
     
  6. dobermann_arb

    dobermann_arb Активный пользователь

    С нами с:
    10 авг 2006
    Сообщения:
    62
    Симпатии:
    0
    код страницы index.php
    <?php
    session_start() ;
    ?>


    <form method=POST action='register.php'>

    <tr><td>Имя</td><td><INPUT TYPE = 'TEXT' NAME = 'userName'></td></tr><br>
    <tr><td>Пароль</td><td><INPUT TYPE = 'password' name='userPassword'></td></tr><br>
    <tr><td colspan=2 width=225><center><INPUT TYPE = 'SUBMIT' value='Войти'></center></rd></tr>

    </form>
    код страницы register.php
    include("includes/connect.php") ; //соединение с базой данных

    session_start()
    $id_session = session_id() ;
    $_SESSION['session_id'] = session_id() ; //id сессии
    $_SESSION['userName'] = $userName ; //имя пользователя
    $_SESSION['userPassword'] = $userPassword ; //пароль пользователя
     
  7. Mavir

    Mavir Guest

    Дело не в сессии. Если register_globals=off, то и к передаваемым значениям надо обращаться не так
    $_SESSION['userName'] = $userName ; //имя пользователя
    $_SESSION['userPassword'] = $userPassword ; //пароль пользователя
    а так

    $_SESSION['userName'] = $_POST['userName'] ; //имя пользователя
    $_SESSION['userPassword'] = $_POST['userPassword'] ; //пароль пользователя

    А зачем хранить значение $_SESSION['session_id'] = session_id();? Ведь его можно всегда получить.
     
  8. dobermann_arb

    dobermann_arb Активный пользователь

    С нами с:
    10 авг 2006
    Сообщения:
    62
    Симпатии:
    0
    Да я только месяц назад начал писать на PHP, вот поэтому неуверенно себя веду .Благодарю за объяснение.