ЗМАГАННЯ ЗАВЕРШЕНО
НАЗВА ПРОЕКТУ
Конкурс:
Онлайн конкурс "PHP"
Номінація:
PHP
Автор:
Андрій Немченко
Команда:
 
ЗАВДАННЯ 1

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

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

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

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

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


ОПИС РОБОТИ:
Опис результатів
index.php index.php

ЗАВДАННЯ 2

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

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

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

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

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


ОПИС РОБОТИ:
Опис результатів
mywork.zip mywork.zip

ЗАВДАННЯ 3

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

 
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. Якщо Загальна сума покупок відмінна від нуля, вивести повідомлення "Сьогодні Ви витратили Х грн.", де Х число витрачених грошей.

ОПИС РОБОТИ:
Опис результатів
Новий додаток

ОБГОВОРЕННЯ:
2013-01-25 03:21 Дмитро Вітюк:
За браком учасникiв змагання знову переноситься на наступний тиждень. Схоже що, план змаганнь з PHP буде змiнено на тиждень вперед.
2013-01-28 17:54 Дмитрий Мачавариани:
Ура))) Будем ждать)
2013-01-30 21:23 Володимир Кк:
Яке там приблизно завдання буде? Хоч якись натяк=))
2013-01-31 07:53 Олександр Громовий:
Робота з сесіями в PHP
2013-02-02 19:00 Адміністратор:
Доброго вечора усім учасникам! Вітаю учаників на черговому конкурсі з PHP. Бажаю удачі!
2013-02-02 19:00 Адміністратор:
ОСНОВНІ ІНСТРУКЦІЇ - для того, щоб прикріпити роботу до завдання, необхідно на сторінці свого проекту перейти в режим редагування (натиснути на олівець в правому верхньому кутку). Після цього під кожним завданням з`являться олівчики для завантаження файлів. Після того, як файл завантажився, рекомендується перевірити коректність завантаження - для цього збережіть його назад на свій комп`ютер та перегляньте зміст.
2013-02-02 19:51 Іван Безсмертний:
А в другому завданні введене імя потрібно валідувати?
2013-02-02 19:54 Адміністратор:
Іване, ні не потрібно.
2013-02-02 21:00 Іван Безсмертний:
Жаль не встиг доробити третє завдання(((
2013-02-02 21:00 Андрій Немченко:
ЯК ЗАВАНТАЖИТИ???
2013-02-02 21:06 Андрій Немченко:
ЯК???
2013-02-02 21:07 Іван Безсмертний:
вже ніяк
2013-02-02 21:08 Андрій Немченко:
ЩО??? Я ДВІ ГОДИНИ ВТРАТИВ, ЩОБ ЗАЛИШИТИСЬ З НІЗ ЧИМ?
2013-02-02 21:08 Дмитрий Мачавариани:
Иван, не поделишься инфой как ты сделал 3-тье задание?
2013-02-02 21:10 Андрій Немченко:
Дайте ще, будь ласка, дві хвилини на завантаження.
2013-02-02 21:20 Іван Безсмертний:
я его неуспел доделать, уже почти под конец время законьчилось(((
2013-02-02 21:23 Дмитрий Мачавариани:
А я так и не понял, где хранить массив с товарами в $goods или $_SESSION?
2013-02-02 21:26 Олександр Громовий:
Андрію, відправляйте на пошту info@it-arena.org, Адміністратор прикріпить завдання до Вашого проекту.
2013-02-02 21:34 Андрій Немченко:
ДЯКУЮ!!!
2013-02-04 19:48 Дмитрий Мачавариани:
Почему на php так тянет? Не знаю, просто очень нравится)
2013-02-05 12:54 Іван Безсмертний:
"При користуванні палітрою досить незручно спочатку вибирати колір, а потім копіювати його до тестового поля. Однак все відповідає поставленному завданню." Це не зовсім так, там десь була кнопка натиснувши на яку колір переносився в поле вводу, зараз вже не памятаю яка.
2013-02-05 12:55 Іван Безсмертний:
"На сервер завжди приходить значення змінної "чоловіча стать", тому цей скрипт працює лише для хлопців." Незнаю як там у вас але у мене все і для дівчат працювало((
2013-02-05 15:20 Дмитро Вітюк:
Іване, можливо справа у налаштуванні серверу. Перевірялося на стандатному налаштуванні Denwer, OpenServer. Хоча скоріше за все справа у html сторінці. Яким браузером Ви користувались при розробці?
2013-02-06 16:08 Іван Безсмертний:
Opera
2013-02-06 16:09 Іван Безсмертний:
користуюсь Nginx