За последние 24 часа нас посетили 18360 программистов и 1674 робота. Сейчас ищет 1101 программист ...

Вопрос по реализации сложных форм

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

  1. Dimmon

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

    С нами с:
    16 мар 2006
    Сообщения:
    19
    Симпатии:
    0
    Я пытаюсь понять как на PHP реализуются многостраничные формы или возможность возврата на страницы с УЖЕ заполненными полями. Понятно, что нужны session... НО я не могу до конца понять что к чему.
    Для примера я сделал 2 файла:
    form.html:
    PHP:
    1. <form name="form" method="post" action="action.php">
    2.   <input type="text" name="text1" value="<?=$text1?>">
    3.   <input type="submit" name="Submit" value="PRESS ME!">
    4. </form>
    и, соответственно, action.php:

    PHP:
    1. <?php
    2. $HTTP_POST_VARS;
    3. session_name("formdata");
    4. $name=session_name();
    5. $sid=session_id();
    6. echo "$text1<br>";
    7. ?>
    8. <a href="form.html?<?=$sid?>">back<a>
    Я хочу чтоб нажав на кнопку "PRESS ME!" пользователь увидел введенный текст на следующем экране, а там, нажав "back" вернулся бы обратно к форме с ЗАПОЛНЕННЫМ им полем...
    Вопрос: Судя по всему переменные сессии надо заносить в врем.файл, а у меня почему то не признаются ф-ции handler_open и др. Почему?
    И ещё не понятно на какой стадии требуется закрыть сессию?
    Спасибо.
     
  2. ohh...again?

    ohh...again? Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    39
    Симпатии:
    0
    Пробуй так:
    PHP:
    1. // form.php
    2. <form name="form" method="post" action="action.php">
    3.   <input type="text" name="text" value="<?if ($_SESSION)echo $_SESSION['text'];?>">
    4.   <input type="submit" name="Submit" value="PRESS ME!">
    5. </form>
    И action.php соответственно:
    PHP:
    1. // action.php
    2. <?php
    3. $_SESSION['text'] = $_POST['text'];
    4. echo $_POST['text'].'<br>';
    5. echo "<a href=\"form.php\">back<a>";
    6. ?>
    Ну, я конечно немного не в твоём стиле сделал, но понять в чём ошибки были можно. Несколько полезностей по теме:
    1) register_globals.
    2) superglobals.
    3) sessions (Только почему-то на английском :( ).
     
  3. Dimmon

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

    С нами с:
    16 мар 2006
    Сообщения:
    19
    Симпатии:
    0
    Спасибо!
     
  4. Dimmon

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

    С нами с:
    16 мар 2006
    Сообщения:
    19
    Симпатии:
    0
    Ещё один вопрос. По каким причинам работа с cookies (на локальном сервере) может ограничиваться одним запуском броузера (как только я его перезапускаю - значения куки в полях теряются). И вообще я не могу найти файла куки ни в страндартных папках WinXP, ни по path, указанному в php.ini... :?:
     
  5. ohh...again?

    ohh...again? Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    39
    Симпатии:
    0
    Можно поставить куку так, что она будет существовать только пока не закроется браузер. Просто время жизни нужно выставить и все.
    Читаем:
    1) setcooke ().
     
  6. ohh...again?

    ohh...again? Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    39
    Симпатии:
    0
    Да, забыл добавить, куки лежат в папке пользователя, только я вот не помню, записываются ли они на диск если они существуют только пока не закрыт браузер (помоему не записываются).
    C:\Documents and Settings\%user%\Cookies\
    Там многие папки скрыты, так что нужно поставить что бы их видно было/
    У меня например это выглядит так:
    C:\Documents and Settings\so\Cookies\
     
  7. Dimmon

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

    С нами с:
    16 мар 2006
    Сообщения:
    19
    Симпатии:
    0
    Там я смотрел - нету, даже во время запущенного броузера! (хотя другие сайты там их спокойно складывают!)
     
  8. ohh...again?

    ohh...again? Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    39
    Симпатии:
    0
    Ну значит они не сохраняются на диск
     
  9. Dimmon

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

    С нами с:
    16 мар 2006
    Сообщения:
    19
    Симпатии:
    0
    Ясно, со всем разобрался, всё понял. Спасибо