
- •В.С. Романчик
- •Глава 2. Использование php.
- •Глава 3.
- •Введение
- •Возможности php.
- •Инструменты для разработки
- •Как php работает
- •Глава 1. Язык php Типы данных
- •Массивы и инициализация массивов
- •Объектно-ориентированное программирование в php Основные понятия ооп
- •Классы и Объекты
- •Конструкторы и деструкторы
- •Наследование классов и интерфейсов
- •Магические методы
- •Обработка ошибок
- •Ошибки php и директива error_reporting
- •Чтение и запись бинарных файлов
- •Работа с каталогами в рнр
- •MySql – сервер: бд1; бд2; бд3; бд4;
- •Язык запросов sql
- •Операция соединения.
- •Команды sql для создания баз данных и таблиц
- •Выборка данных из таблиц бд
- •Работа с MySql (сохранение данных в базе данных).
- •Работа с MySql занесение и получение данных из базы данных
- •Некоторые улучшения в организации работы с данными
- •Передача данных от клиента к серверу и от сервера клиенту
- •Клиентские методы http get, post, head
- •Обработка html-форм и передача переменных в скрипт.
- •Передача значений переменных по методу get
- •Ниже рассмотрен еще один пример передачи данных из клиентской формы на сервер по методу get
- •Передача данных на сервер по методу post
- •Php и обработка различных форм
- •Примеры обработки форм
- •Работа с e-mail
- •Отправка почты на php (Функция mail)
- •Cookies-наборы: сохраненное состояние
- •Сессии (Сеансы) Переменные сеанса
- •Отмена регистрации сеансовых переменных
- •Работа с сеансовыми переменными
- •Постоянные данные, использующие сеансы и cookie-наборы
- •Вывод графических данных с помощью рнр Основной способ создания изображений
- •Получение информации об изображении
- •Функции рисования прямых и кривых линий
- •Заливка изображений
- •Работа с палитрой изображения
- •Удаление и изменение цветов палитры
- •Создание прозрачности в изображениях
- •Рисование с помощью кистей
- •Использование специальных стилей для заливки
- •Использование шрифтов и вывод строк
- •Манипулирование и копирование изображений
- •Создаём графический информер на php
- •Слияние изображений с помощью gd
- •Включения удаленных файлов
- •Различные приложения и полезные скрипты на php
- •Пример. Определение типа и версии браузера
- •Генератор паролей на php
- •Время выполнения скрипта
- •Календарь
- •Загрузка файла от клиента на сервер
- •Работа с ftp на уровне php
- •Сбор статистики на php
- •Проверка ввода емайл
- •Чтение почты через Web-интерфейс
- •Разработка собственных листов рассылки
- •Рассылаем письма
- •Добавляем адреса в список рассылки
- •Редактирование адресов
- •Автоответчик
- •Почтовые функции в рнр
- •Задания для выполнения
- •Приложение 1. Протокол передачи гипертекстов http
- •Клиентские методы и заголовкиHttp
- •Указатель ссылки ("Referer")
- •Медиа-типы
- •Кодирование
- •Безопасность и авторизация
- •Кэширование содержимого http на стороне клиента
- •Http идентификация с php
- •Сжатие данных в протоколе http
- •Модель ajax: между загруженной в браузер страницей и сервером появляется прослойка - уровень ajax, который обеспечивает следующую последовательность выполнения приложения.
- •Класс xmlHttpRequest
- •Методы класса xmlHttpRequest
- •Свойства класса xmlHttpRequest
- •Создание экземпляра объекта xmlHttpRequest
- •Использование dom
- •Проблема с кешированием
- •Информируйте пользователя
- •Нет принципов написания кода
- •Аутентификация средствами php
- •Отделение клиентская части программы от серверной части и шаблоны
- •Использование шаблонов в php
- •Шаблоны подстановки
- •Создаем свои шаблоны в php
- •Теги, атрибуты, значения
- •Структура документа
- •Разрыв строки
- •Предварительное форматирование
- •Комментарии
- •Физическая и логическая разметка документа
- •«Физические» теги:
- •«Логические» теги:
- •Специальные символы
- •Графика
- •Формы html
- •Метатеги
- •Способы включения каскадных таблиц стилей
- •Синтаксис
- •Группирование
- •Наследование
- •Множественные классы.
- •Селекторы идентификаторов (id-селекторы).
- •Комментарии
- •Свойства шрифтов.
- •Свойства текста.
- •Представление документа в виде специальных областей – блоков
- •Отступы, поля, позиционирование.
- •Границы элементов.
- •Визуальные эффекты
- •Свойства списков
- •Свойства таблиц
- •Псевдоклассы
- •Псевдостили текста
- •Псевдоэлементы
- •Различные свойства
- •Css. Примеры
- •Типы данных
- •Ассоциированные массивы
- •Операторы
- •Подпрограммы
- •Приложение 11. Популярные веб-приложения и фреймворки
- •Фреймворки
Css. Примеры
1. Двухколоночный макет сайта на css
<html>
<head>
<style>
#left-side {
float:left;
width:200px;
}
#center {
margin-left:200px;
}
#footer {
clear:both;
}
</style>
</head>
<body>
<div id="top">
</div>
<div id="content">
<div id="left-side"></div>
<div id="center"></div>
</div>
<div id="footer">
</div>
</body>
</html>
2. Трехколоночный макет сайта на css
<html>
<head>
<style>
#left-side {
float:left;
width:200px;
}
#wrapper {
margin-left:200px;
background-color: yellow;
}
#right-side {
float:right;
width:200px;
}
#center {}
#footer {
clear:both;
}
</style>
</head>
<body>
<div id="top"> top
</div>
<div id="content">
<div id="left-side"> left-side </div>
<div id="wrapper">
<div id="right-side"> right-side </div>
<div id="center"> center </div>
</div>
</div>
<div id="footer"> footer
</div>
</body>
</html>
3. Сглаженные закругленные углы без использования изображений
<html>
<head>
<title>Сглаженные закругленные углы без использования изображений</title>
<style>
.b1, .b2, .b3, .b4, .b5,
.b1 i, .b2 i, .b3 i, .b4 i, .b5 i,
.b1 b, .b2 b, .b3 b, .b4 b, .b5 b,
.b1 q, .b2 q, .b3 q, .b4 q, .b5 q {
height: 1px;
font-size: 1px;
overflow: hidden;
border-style: solid;
border-width: 0 1px;
display: block;
}
.b1 {
margin: 0 2px;
background: #EBEEF0;
border: none;
}
.b1 b {
margin: 0 1px;
background: #B8C3C8;
border-color: #CBD3D7;
}
.b2 {margin: 0 1px; border-color: #D6DCDF;}
.b2 b {border-color: #B8C3C8;}
.b2 i {border-color: #E4E8EA;}
.b2 q {border-color: #F7F8F9;}
.b3 {border-color: #EBEEEF;}
.b3 b {border-color: #BCC6CB;}
.b3 i {border-color: #F9FAFB;}
.b4 {border-color: #CAD2D6;}
.b4 b {border-color: #E5E9EB;}
.b5 {border-color: #B5C0C6;}
.b5 b {border-color: #FAFBFB;}
.text {
border: 1px solid #B0BCC2;
border-width: 0 1px;
padding: 0 12px;
}
</style>
</head>
<body>
<div class="b1"><b></b></div>
<div class="b2"><b><i><q></q></i></b></div>
<div class="b3"><b><i></i></b></div>
<div class="b4"><b></b></div>
<div class="b5"><b></b></div>
<div class="text">
Здесь каждый угол состоит из пяти расположенных специальным образом пикселей, придающих углу закругление.
</div>
<div class="b5"><b></b></div>
<div class="b4"><b></b></div>
<div class="b3"><b><i></i></b></div>
<div class="b2"><b><i><q></q></i></b></div>
<div class="b1"><b></b></div>
</body>
</html>
4. Выпадающее меню с помощью css
<html>
<head>
<title>Horizontal Drop Down Menus</title>
<script type="text/javascript">
startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
}
node.onmouseout=function() {
this.className=this.className.replace(" over", "");
}
}
}
}
}
window.onload=startList;
</script>
<style type="text/css">
body {
font-family:verdana;
font-size:11px;
line-height:normal;
}
ul {
border-bottom:1px solid #ccc;
list-style-image:none;
list-style-position:outside;
list-style-type:none;
margin:0pt;
padding:0pt;
width:150px;
}
ul li {
position:relative;
}
li ul {
display:none;
left:149px;
position:absolute;
top:0pt;
}
ul li a {
background:#fff none repeat scroll 0%;
border-color :#ccc;
border-style:solid;
border-width:1px 1px 0pt;
color: black;
display:block;
padding:5px;
text-decoration:none;
}
* html ul li {
float:left;
height:1%;
}
* html ul li a {
height:1%;
}
ul li a:hover {
background:#fe0 none repeat scroll 0%;
color:red;
}
li ul li a {
padding:2px 5px;
}
li:hover ul, li.over ul {
display:block;
}
</style>
</head>
<body>
<ul id="nav">
<li><a href="#">One</a></li>
<li><a href="#">Two</a>
<ul>
<li><a href="#"> Two One</a></li>
<li><a href="#"> Two Two </a></li>
<li><a href="#"> Two Three</a></li>
</ul>
</li>
<li><a href="#">Three</a>
<ul>
<li><a href="#"> Three One</a></li>
<li><a href="#"> Three Two</a></li>
<li><a href="#"> Three Three </a></li>
<li><a href="#"> Three Four</a></li>
</ul>
</li>
</ul>
</body>
</html>
Приложение 10. Основы CGI/Perl
Программы, написанные на языке скриптов Perl, синтаксически похожи на программы, написанные на языке Cи. Рассмотрим простой пример вывода строк:
#!/usr/local/bin/perl –w
print("Hello, world\n"); #пример3.1-вывод строк
print "I live in Minsk,\n", "I work hire", "\n";
print ('Hello, world\n');
Будет выведено:
Hello, world
I live in Minsk,
I work hire
Hello, world \n
Программы main(), как в языке Си, здесь нет. Комментарием в Perl является все, что следует за «решеткой» (#), вплоть до конца строки. Строка в одинарных ковычках рассматривается как массив символов, при этом символы \n будут выведены как обычные символы, а не как символ конца строки.
В системе UNIX при вызове Perl через CGI первая строка должна иметь вид комментария, в котором системе указывается путь к интерпретатору perl.exe. Аналогично, в системе Windows указывается свой путь, в котором прямой слэш ‘/’ может быть заменен на обратный ‘\’, например c:\perl5\bin\perl.
Чтобы выполнить программу, создаем файл pr31.pl и наберем строку вызова интерпретатора: perl pr31.pl
Интерпретатор языка перед выполнением компилирует программу в свой внутренний формат. Поэтому после ее запуска невозможно получить сообщение о синтаксической ошибке — это происходит только в процессе отладки программы.
Рассмотрим второй пример ввода и вывода значений строковых переменных:
#!/usr/local/bin/perl -w
#пример3.2- ввод и вывод строк
# -w режим отображения предупреждений об ошибках
print "What is yure name?:";
$who =<STDIN>;
$where = 'Минск';
print "My name is $who,\n"; # представимся
print "I live in \t$where\n",
Будет выведено:
What is yure name?:valera
My name is valera,
I live in Минск
Для ввода строкового значения используется дескриптор стандартного файла <STDIN> . Если строка еще не образована, то Perl останавливается и ждет до тех пор, пока не будут введены информация и вслед за ней символ перехода на новую строку.