Все туры в Турцию: авиабилеты в турцию. Антикризисный чартер.

Глава 13 учебника по PHP. Cookie и отслеживание сеанса

$uniq_id = uniqid(rand( ));

Функция srand( ) инициализирует («раскручивает») генератор случайных чисел. Если вы хотите, чтобы функция rand( ) генерировала действительно случайные числа, необходимо предварительно вызвать srand( ). Передача rand( ) в качестве параметра uniqid( ) приводит к тому, что функция uniqid( ) вызывается с заранее сгенерированным случайным префиксом, что усложняет подбор сгенерированного UIN.

Владея методикой создания уникальных идентификаторов, мы теперь можем реализовать вполне реальную схему регистрации пользователей. При первой загрузке сценария в листинге 13.4 пользователю предлагается заполнить короткую

форму с именем и адресом электронной почты. Эта информация вместе со сгенерированным уникальным идентификатором сохраняется в таблице user_info, определение которой приведено перед листингом 13.3. Cookie с этим идентификатором сохраняется на компьютере пользователя. При всех последующих посещениях сценарий ищет в базе данных уникальный идентификатор, взятый из cookie, и выводит в браузере найденную информацию о пользователе.

Листинг 13.4. Процесс регистрации пользователя

<?

// Построить форму

$form = "

<form action=\"Listingl3-4.php\" method=\"post\">

<input type=\"hidden\" name=\"seenform\" value=\"y\"> \

Your first name?:<br>

<input type=\"text\" name=\"fname\" size=\"20\" maxlength=\"20\" value=\"\"><br>

Your email?:<br>

<input type=\"text\" name=\"email\" size=\"20\" maxlength=\"35\" value=\"\"><br>

<input type=\"submit\" value=\"Register!\">

</form>

// Если форма еще не отображалась

// и для данного пользователя еще не существует cookie...

1f ((! isset (Sseenform)) && (! isset ($userid))) :

print $form;

// Если форма отображалась.

// но данные пользователя еще не были обработаны...

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 все