Вход / Регистрация
Вход
Урок 16: Фильтрация данных, $_COOKIE, $_SESSION
План:
- Фильтрация данных
- Безопасность при include
- filter_var для адресов и email
- int, float - для чисел
- in_array для определённых множественных вариантов
- $_COOKIE: Чтение, создание, редактирование и удаление
- $_SESSION: Чтение, создание, редактирование и удаление
Домашка:
Выполнить 3 задания. Каждая из задачек проходит определённый пройденный материал. Тот, кто решит все 3 - будет знать все 3 темы хорошо.
Важное замечание, не используйте структуру из 15-ого урока в этой домашке, она вам не нужна, а только создаст дополнительные проблемы. Как склеить структуру из 15 и код из 16-ого будет рассказано в 17-ом уроке!
Мини-игра, цель которой показать, что алкоголизм - это плохо. Мы создаём страничку game.php под игру. Создаются 2 персонажа, у обоих по 10хп (2 сессионных переменных), создаётся форма, где пользователь вводит число от 1 до 3 и отправляет запрос на сервер. На сервере запустить rand(1,3), и если значение человека с значением случайным совпадает, то снимаются ХП с персонажа человека (клиента), если не совпадают - с серверного персонажа. Отнимать надо от 1 до 4хп, случайным образом). То есть вероятность 33%, что отнимутся у клиента, и 66%, что у серверного персонажа.
В момент, когда у одного из персонажей ХП становится 0 и ниже, - перебрасывать на другую страницу при помощи переадресации (header) на страницу gameover.php , и выводить текст, победил ли игрок, или система.
Цели игры: разобраться в сессиях и переадресациях. Попробовать на практике изученную самостоятельно функцию rand();
Простая файловая система на подобии norton-comander, far, FileZilla с упрощенной версией.
Её путь будет: program.php .
Необходимо:
1) вывести каталог папок и файлов для данной директории, используя scandir('.'). Перед названием выводить иконку папки, или иконку файла соответственно. Проверку делать на: is_dir() - else.
2) Папки сделать кликабельными, через ссылку передавать второй аргумент - путь к файлу по примеру: <a href="/program.php&link=echo (isset($link) ? $link.'/'.$v :$v);">имя папки</a> . Данный путь будет содержаться в массиве после использования функции scandir.
3) По переходу по ссылке будет передаваться $_GET['link'], который необходимо будет подставить в функцию scandir для того, чтобы отобразить файлы и папки внутри конкретной директории.
4) Таким образом мы сможем воссоздать файловую систему и передвигаться по директориям и поддиректориям.
Цели программы: изучить новые функции + цикл с массивом и множества аргументов для $_GET.
Важное замечание, не используйте структуру из 15-ого урока в этой домашке, она вам не нужна, а только создаст дополнительные проблемы. Как склеить структуру из 15 и код из 16-ого будет рассказано в 17-ом уроке!
1. Форму для авторизации и выход
Делается достаточно просто, простая форма на ввод логина, пароли и email. Далее проверяем сначало на то, что заполнили поля, и email заполнили верно! После авторизации - запоминать ключ в куках. Выводить на экране. Для email: filter_var. Последнее поле меню: ВЫХОД!
2. Битва алкоголиков:
Мини-игра, цель которой показать, что алкоголизм - это плохо. Мы создаём страничку game.php под игру. Создаются 2 персонажа, у обоих по 10хп (2 сессионных переменных), создаётся форма, где пользователь вводит число от 1 до 3 и отправляет запрос на сервер. На сервере запустить rand(1,3), и если значение человека с значением случайным совпадает, то снимаются ХП с персонажа человека (клиента), если не совпадают - с серверного персонажа. Отнимать надо от 1 до 4хп, случайным образом). То есть вероятность 33%, что отнимутся у клиента, и 66%, что у серверного персонажа.
В момент, когда у одного из персонажей ХП становится 0 и ниже, - перебрасывать на другую страницу при помощи переадресации (header) на страницу gameover.php , и выводить текст, победил ли игрок, или система.
Цели игры: разобраться в сессиях и переадресациях. Попробовать на практике изученную самостоятельно функцию rand();
3. Файловый менеджер
Простая файловая система на подобии norton-comander, far, FileZilla с упрощенной версией.
Её путь будет: program.php .
Необходимо:
1) вывести каталог папок и файлов для данной директории, используя scandir('.'). Перед названием выводить иконку папки, или иконку файла соответственно. Проверку делать на: is_dir() - else.
2) Папки сделать кликабельными, через ссылку передавать второй аргумент - путь к файлу по примеру: <a href="/program.php&link=echo (isset($link) ? $link.'/'.$v :$v);">имя папки</a> . Данный путь будет содержаться в массиве после использования функции scandir.
3) По переходу по ссылке будет передаваться $_GET['link'], который необходимо будет подставить в функцию scandir для того, чтобы отобразить файлы и папки внутри конкретной директории.
4) Таким образом мы сможем воссоздать файловую систему и передвигаться по директориям и поддиректориям.
Цели программы: изучить новые функции + цикл с массивом и множества аргументов для $_GET.
Под каждым уроком есть 10 тестов, которые помогут Вам закрепить пройденный материал.
Один из тестов будет развивать Вашу логику и интеллект!
Чтобы получить доступ к тестам - авторизируйтесь!
Один из тестов будет развивать Вашу логику и интеллект!
Чтобы получить доступ к тестам - авторизируйтесь!
|