Онлайн конкурс "PHP"
Рівень змагання:
2
Термін проведения:
від 2013-02-02 19:00
до  2013-02-02 21:00
Вікова категорія:
Від 5 до 21
Рефері:
Дмитро Вітюк

Робота з сесіями в PHP

ЗАВДАННЯ 1
Оцінка:1

Створити механізм вибору кольору сторінки користувачем.

На сторінці має бути текстове поле для вводу кольору у RGB форматі та кнопка відправки на сервер.

На сервері має бубти обробка текстового поля для того щоб користувач міг записати лише колір у RGB форматі.

Дані мають зберігатися у cookies.

Додатково: Дати змогу користувачеві вибирати колір за допомогою палітри (JavaScript або jQuerry)



ЗАВДАННЯ 2
Оцінка:1

Створення гри "Щаслива пара".

В сессії зберігаеться два масиви із жіночими та чоловічими іменами. Користувач вводить своє ім'я, вказує стать, натискає кнопку відправки.

На сервері, після відправки, перевіряеться масив із іменами статі користувача на наявність імені користувача. Якщо ім'я існує то переходимо до пошуку пари, інакше додаємо ім'я користвача та переходимо до пошуку пари.

Пара шукаеться шляхом вибору випадкового імені з масиву з іменами протилежної статі. Після цього виводиться форма пошуку пари та результат пошуку.

Додатково: Реалізувати пошук пари без перезавантаження сторінки (Ajax або jQuerry)



ЗАВДАННЯ 3
Оцінка:1

Створення онлайн магазину.

 
0. Весь код має бути в одному файлі .php.
1. Якщо у сессії не записаний список товарів, згенерувати масив 10 товарів магазину та занести його до сесії.
 
$goods = array( array( "id" => 1, "name" => "Товар1","price" => 100,"quantity"=>5), 
array( "id" => 2, "name" => "Товар2","price" => 450,"quantity"=>2), 
array( "id" => 3, "name" => "Товар3","price" => 81,"quantity"=>4), 
// ....
array( "id" => 10, "name" => "Товар10","price" => 56,"quantity"=>7)
);
 
2. Вивести таблицю з товарами а також лінками на іх додавання до корзини. (Для додавання викоритовувати GET запити)
<tr> 
<td>Товар1 коштує 100 грн Кількість 5</td>
<td><a href="?action=add&id=1">Додати до кошика</a></td>
</tr>
 
3. При натисненні на посилання "Додати до кошика", ідентифікатор товару, ціна  та кількість записується користувачеві у cookies (запис здійснюється на серверi, за допомогою функції setcookie(); ).
При додаванні товару до кошику, на сервері у списку товарів сесії його кількість зменшується  на одиницю, а на клієнті у cookies збільшується.
Якщо на сервері кількість товару досягає 0, товар перестає відображатися на клієнті і додати його у корзину стає неможливо.
Якщо у кошику уже є той же товар то при додаванні його кількість зростає, а якщо додається новий товар - додається новий ідентифікатор, а загальна вартість перераховується.
При завантаженні сторінки загальна вартість товарів у кошику відображаеться на сторінці: "У кошику товарів на суму 500 грн.".
Якщо загальна сума дорівнюе нулю, виводиться повідомлення: "Кошик пустий".
 
4. Вивести кнопку "Придбати", <a href="?action=buy">Придбати</a>, за натисненням на яку серевер очищає список товару корзини в cookies та встановлює в нових coockies поле "Загальна сума покупок", яка розраховується як сума товарів попередньої покупки + поточне значення поля "Загальна сума покупок". Встановити час "життя" cookie 24 години.
 
5. Якщо Загальна сума покупок відмінна від нуля, вивести повідомлення "Сьогодні Ви витратили Х грн.", де Х число витрачених грошей.