Примеры решения задач

Задача

Задача. Сделайте две страницы: index.php и hello.php. При заходе на index.php спросите с помощью формы имя пользователя, запишите его в куки. При заходе на hello.php поприветствуйте пользователя фразой "Привет, %Имя%!".

Решение:

Страница index.php:

<form action="" method="GET">
	<input type="text" name="username">
	<input type="submit">
</form>

<?php
	//Если форма была отправлена и имя не пустое:
	if (!empty($_REQUEST['username'])) {
		//Пишем имя в куки:
		setcookie('username', $_REQUEST['username'], time()+3600, '/');
	}
?>

Страница hello.php:

<?php
	//Если есть данные в куки об имени пользователя:
	if (!empty($_COOKIE['username'])) {
		echo $_COOKIE['username']; //выведем имя на экран
	}
?>

Задача

Задача. Спросите у пользователя телефон с помощью формы. Затем сделайте так, чтобы в другой форме (поля: имя, фамилия, телефон) при ее открытии поле телефон было автоматически заполнено.

Спрашиваем телефон:

<form action="" method="GET">
	<input type="text" name="phone">
	<input type="submit">
</form>

<?php
	//Если форма была отправлена и телефон не пустой:
	if (!empty($_REQUEST['phone'])) {
		//Пишем телефон в куки:
		setcookie('phone', $_REQUEST['phone'], time()+3600, '/');
	}
?>

Другая форма:

<?php
	//Если телефон есть в куки - запишем его в переменную $phone:
	if(!empty($_COOKIE['phone']))
		$phone = $_COOKIE['phone'];
	else
		$phone = '';
?>

<form action="" method="GET">
	<input type="text" name="name">
	<input type="text" name="surname">

	<!-- Заполним атрибут value переменной $phone: -->
	<input type="text" name="phone" value="<?php echo $phone ?>">

	<input type="submit">
</form>

Задачи для решения

Работа со cookie

Сделайте две страницы: index.php и test.php. При заходе на index.php спросите с помощью формы страну пользователя, запишите ее в куки с именем country. При заходе на test.php выведите страну пользователя.

Удалите куку с именем country.

Установите куку с именем age. Запишите туда случайное число от 10 до 70 (с помощью mt_rand). Сделайте так, чтобы эта кука установилась на 1 час, на 3 часа, на 1 день, на год, на 10 лет, до конца текущего дня, до конца текущего года.

Задачи

Напишите оболочку над cookie. Оболочка должна представлять собой набор функций: сохранение куки, удаление куки, редактирование куки.

Сделайте на сайте 5 картинок с товарами. Реализуйте корзину. Под каждой картинкой должна быть ссылка 'Положить в корзину'. По нажатию на эту ссылку этот товар должен занестись в корзину (сессия), также должна увеличиться общая сумма, которую должен заплатить пользователь (сумма также должна быть указана под картинками с товарами).

Сделайте счетчик посещения сайта посетителем. Каждый раз, заходя на сайт, он должен видеть надпись: 'Вы посетили наш сайт % раз!'.

Покажите пользователю баннер с кнопкой 'Не показывать больше!'. Если он нажмет на эту кнопку - не показывайте ему баннер в течении месяца.

Запомните дату последнего посещения сайта пользователем. При заходе на сайт напишите ему, сколько дней он не был на вашем сайте.

Спросите дату рождения пользователя. При следующем заходе на сайт напишите сколько дней осталось до его дня рождения. Если сегодня день рождения пользователя - поздравьте его!

Реализуйте выбор дизайна сайта пользователем. Сделайте несколько дизайнов сайта. Пользователь может выбрать один из дизайнов с помощью выпадающего списка. Этот выбор будет сохранен в куки и пользователь, заходя на сайт, всегда будет видеть один и тот же дизайн.