Задания по курсу РНР.
- Написать программу калькулятор для 4 математических действий.
- Написать программу, которая выводит текущий месяц. Дополнительно – раскрашивает выходные дни.
- Написать программу, проверяющую введенные логин и пароль. Если введенные данные верны, то показывать новую страницу с каким-нибудь приветственным сообщением, если не верны, то новую страницу с сообщением об ошибке.
- Написать программу, проверяющую введенное слово(пароль) на соответствие определенным требованиям, а именно: длина слова не должна превышать 14 символов и быть меньше 5 символов; слово должно содержать только латинские буквы и цифры (причем с цифры начинаться не должно); не должно содержать в себе слово, указанное на экране (придумать самому).
- Написать программу, печатающую содержимое текущей директории. Дополнительно – файлы с разными расширениями выделить разными цветами.
- Написать программу, которая печатает введенную строчку задом наперед. Дополнительно – проверить, является ли введенная строка палиндромом. То есть, одинакова ли она при прочтении в прямую и обратную сторону.
- Написать программу, которая выводит месяц указанной даты, а саму дату в этом месяце подсвечивает красным цветом.
- Написать программу, которая распечатывает саму себя. Дополнительно – осуществляет подсветку синтаксиса.
- Написать программу – электронные часы.
- Написать вопросник – несколько вопросов с вариантами ответов. В конце опроса показывается количество правильно отвеченных вопросов и количество неправильно отвеченных.
- Написать программу, которая рисует график sin x в ячейках HTML таблицы.
- Написать программу, выводящую введенную строку таким образом, чтобы первые буквы слов были в верхнем регистре.
- Даны два целых числа А и В (А < В). Вывести все целые числа, расположенные между данными числами (включая сами эти числа), в порядке их возрастания, а также количество N этих чисел.
- Написать программу, вычисляющую факториал числа.
- Дан номер некоторого года (положительное целое число). Вывести число дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный – 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 – являются)
- Дано целое число, лежащее в диапазоне от -999 до 999. Вывести строку – словесное описание данного числа вида «отрицательно двузначное число», «положительно однозначное число» и т.д.
- Написать программу, которая считает количество цифр в строке.
- Дана строка S и число N. Преобразовать строку S в строку длины N следующим образом: если длина строки S больше N, то отбросить первые символы, если длина строки S меньше N, то в ее начало добавить символы «.» (точка)
- Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов, собственное имя и расширение. Выделить из этой строчки имя и расширение файла.
- Дана строка-предложение и число k (0<k<10). Зашифровать строку, выполнив циклическую замену каждой буквы на букву того же регистра, расположенную в алфавите на k-й позиции после шифруемой буквы, знаки препинания и пробелы не изменять.
- Создать 3 страницы, на которых должны быть отображен график функции в виде таблицы с соответствующими цветами ячеек таблицы. Навигация между страницами должна осуществляться через меню. Каждая страница должна соответствовать общему виду, т.е. изменение шаблона страницы должно менять вид страницы, расположение меню и т.д. Примеры функций: cos, sin, x^n (n – любое), и т.п.
- Создать последовательность «мастера» из 2 форм, собирающего информацию и сохраняющего в Berkley DB. На последней странице выводится информация, сохраненная в базе, включая новую информацию. Примеры форм: 1 – сбор информации о студенте (имя, фамилия), 2 – выбор из подготовленного списка 3 предметов, которые он будет сдавать на экзаменах, 3 – таблица студентов, сгруппированных по экзаменам; 1 – выбор студента из списка, 2 – из базы данных извлекается информация о его биографии, выдается на странице на редактирования, 3 – сохранение информации о биографии, отображение списка студентов в таблице с первыми 300 символами его биографии напротив фамилии.
- Создать страницу, которая отображает файл на С, подсвечивая его синтаксис, используя регулярные выражения
- Написать парсер лог файла веб-сервера Apache, выдающего статистику за определенный день одним из следующих видов: таблица количества обращений к страницам, таблица количества запросов в час, таблица запросов с IP адреса.
- Написать программу, преобразующую заданный GET запрос в массив данных
- Написать программу угадывания числа, в которой заранее задаются границы заданного числа и количества попыток. Программа должна отобразить: границы этого случайного числа, оставшееся число попыток и результат сравнения названного числа с загаданным: больше, меньше или равно
- Реализовать интерфейс к БД при помощи класса, выполняющего следующие действия: соединение с БД, закрытие соединения, выполнение прямого SQL запроса, получение числа рядов в запросе SELECT, получение данных, извлеченных запросом SELECT
- Реализовать интерфейс к БД при помощи класса, который должен являться базовым или инкапсулировать объект некоторого базового класса. Базовый класс содержит набор свойств, заданных определенным образом, и описывающий название таблицы и его полей. Данный базовый класс должен уметь генерировать запросы INSERT, SELECT, UPDATE по свойствам таблицы, описанных в классе-наследнике.
- Реализовать механизм безопасной загрузки файлов на сервер. При этом программа должна уметь загружать файл, отображать список загруженных файлов и скачивать файл
- Написать 2 версии формы авторизации в систему, демонстрирующие: 1 – возможность и принцип работы SQL-injection, 2 – безопасная в плане SQL-injection форма
- Написать программу, состоящую из 3 страниц: 1 – авторизация, 2 – изображение и список координат щелчков мышью по изображению, 3 – выход из системы. 2 страница не должна быть показана неавторизованным пользователям. Вся информация об авторизации и координатах щелчков мышью должны храниться в cookies или сессии.
- Написать класс, измеряющий производительность той или иной части кода. Произвести сравнение скорости работы, например, ereg_ и preg_ функций; foreach, for, while; обращение к неопределенной переменной и ее использование и проверку на существование переменной и т.п.
- Написать механизм callback функций, обладающий следующими требованиями: 1. запрос к скрипту может быть по методу GET или POST, 2. запрос должен содержать верные логин, пароль и идентификатор пользователя в базе, 3. возвращаемый результат – XML одного из 3 видов: неверный логин/пароль, отсутствие пользователя в базе, информация о пользователе