triumvirat
Про то что у меня скрипт в ещё не закрытой форме - да. Но меня в общем-то это никогда не волновало. Как видишь , если дописать DOCTYPE то этот скрипт будет работать как в твоём так и в моём варианте (и до и после закрытия формы). Собственно говоря , если бы это не работало то ты не виделбы web-страницы до того как браузер докачает весь html файл.
Ну а что касается "надо уже научиться закрывать кавчками" - любое предложение в русском языке должно начинаться с большой буквы. Только ты этому не следуешь. Если теоретичеки значение может оказаться разывистым - я его обязательно заключу в кавычки
dimagolov
и что будет передаваться в POST-е? незаметно для пользователя, кстати...
Особенно удивила твоя фраза - "...
незаметно для пользователя, кстати..."
Ну раз любопытно - смотри:
Для того чтобы адрес сайта всегда оставался типа: ввв.сайт.ру , все запросы передаются только постом.
На сайте человек проходит тестирование и все его дейтвия на сайте не подразумевают использования клавиши Back.
Если он где-то и нажмёт Back то браузер перезапросит передачу формы , но человек уже ответил на вопрос и по этоу повторно на него уже не ответит.
Пользователю не обязательно проходить весь тест полностью , он может вернуться к нему в любой момент отложив работу или просто погуляв по сайту (ну скажем вдруг зайдёт в настройки , выберет там побольше шрифт , нажмёт сохранить , попадёт на главную страницу и там выберет "Продолжить последнее тестирование").
А данная промежуточная форма , которая вызвала у тебя такие подозрения в том что пользователь чего-то не видит , выполняется перед началом первого теста (чтобы для пользователя были бы сгенерированные новые тестовые вопросы).
Тоесть , человек нажимает создать новый тест , выберает раздел , потом подраздел , после выбора подраздела пользователь пересылается на форму попав на которую для него создаётся список вопросов на которые он будет отвечать , и оттуда он "незаметно" попадает на страницу самого тестирования.
Я не могу генерировать для него вопросы когда он попадает на страницу с тестами по двум причинам:
1) Если находясь на этой странице он нажмёт F5 - то они будут сгенерированы заново (ну мало ли браузер не все картинки отрисовал и пользователь нажмёт Refresh)
2) Я бы мог бы иметь какую-то переменную , если она пустая , и я попадаю в тесты , то должен создать вопросы клиенту. Но где я её могу обнулить? Только между выбором подраздела и началом тестирования (так как человек может уже и так выполняет тестирование и просто из любопытсва решил войти в раздел с подразделами чтобы посмотреть какие они есть , а потом продолжит выполнение своего ранее начатого тестирования).
Конечно , если бы можно было бы менять URL - я бы после выбора подраздела зашёл бы на генерацию вопросов и оттуда через HEADER('Location: ?...'); перенаправил его на страницу тестов , но я работаю только через POST запросы и по этому такой вариант не проходит. Итого - единственный выход отдельная форма.
Да , можно было бы всего того же добиться поставив всё в фрейм и там поднизом уже используя GET запросы.
Да , можно было бы использвать основую форму для получения post-запросов , после этого переводить все принятые значения в какой-то подраздельчик глобальных переменных и сразу же после этого делать HEADER('Location: .'); обабатывая в программе не $_POST[aaa] , а скажем $_SESSION[POST][aaa] (это даже было бы удобней так как у пользователя даже клавиша Back не загорелась бы , ведь он технически всё время находится на одной и тойже странице без изменения передаваемых данных , и никуда с неё не уходит и не передаёт параметры (так как после передачи параметров сразу переносится на себя же через хэдэр локэйшен).
Но всё это лишнее и не требуется в рамках проекта...
Самый удобный вариант - отдельная форма. Попал на неё , сгенерировал вопросы , "незаметно" перешёл на страницу тестирования...
Любопытство удовлетворено?
