Нужна помощь - Форма связи шаг 1 из 2

Статус
В этой теме нельзя размещать новые ответы.

1Dreamweaver1

Профессор
Регистрация
4 Янв 2008
Сообщения
417
Реакции
45
Подскажите как такое реализовать.

На главной страице есть форма с полями (имя, фамилия и email) шаг 1.
После заполнения полей, человек попадает на другую страницу сайта с другой формой, где заполняются полные данные человека(zip, phone...). - шаг 2

Как сделать, чтобы когда человек заполнил на главной странице форму и нажимает далее, он попадал на другую форму (шаг 2), но при этом в полях (имя, фамилия и email) были внесены данные которые он внес в форму с главной страице?
И если он закроет сайт и заного откроет и решит продолжить заполнение, то данные которые он заполнил ранее в полях (имя, фамилия и email) остовались бы.
 
запоминать их в куках
 
или через сессии. по сути те же куки
 
или через сессии. по сути те же куки

через сессии удобнее но там
И если он закроет сайт и заного откроет и решит продолжить заполнение, то данные которые он заполнил ранее в полях (имя, фамилия и email) остовались бы.
 
И если он закроет сайт и заного откроет и решит продолжить заполнение, то данные которые он заполнил ранее в полях (имя, фамилия и email) остовались бы.
ну так и заполнять их из $_SESSION, почему нет?
 
Сессия безопаснее чем куки, тем более что в обоих случаях куки должны быть включены.
PHP:
session_name('store'); // переменная сессии
session_start(); // запуск сессии
$_SESSION['fio'] = isset($_REQUEST['fio']) ? (string) $_REQUEST['fio'] : ''; // запоминаем в сессии
// ... прочий код
 
так сессия помирает когда закрываем браузер, а ТС хочет что б данные сохранялись
 
так сессия помирает когда закрываем браузер, а ТС хочет что б данные сохранялись

C чего это вдруг помирает?
PHP:
$sess_id = isset($_REQUEST['store']) && preg_match('#^[a-f0-9]{32}$#si', $_REQUEST['store']) ? $_REQUEST['store'] : md5('Hello, boys!' . microtime() . getmypid() . mt_rand(1, time()));
session_name('store');
session_id($sess_id);
session_start();

// ставим жизнь куки подольше
setcookie('store', session_id(), time()+(86400*30) );
$_SESSION['fio'] = isset($_REQUEST['fio']) ? (string) $_REQUEST['fio'] : '';
// ...
PS: Писал "на глаз", но должно работать..

Upd
Заменил код
preg_match('#^[a-z0-9]{32}$#si'
на
preg_match('#^[a-f0-9]{32}$#si' - Piflit, спасибо за уточнение
 
preg_match('#^[a-z0-9]{32}$#si',
для id сессии правильнее будет так
preg_match('#^[a-f0-9]{32}$#si',
 
А почему обязательно сессии/куки? Можно просто POST'ом передавать, а на следующей странице вставлять.

Упс, не дочитал, извиняюсь.. )

Сессия тоже может сдохнуть, поэтому лучше сессия+кукисы использовать, имхо.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху