Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5_semestr / Интерактивное программирование web-приложений / Интерактивное программирование web-приложений.doc
Скачиваний:
74
Добавлен:
29.03.2016
Размер:
533 Кб
Скачать
☆

Управление выполнением программы: if else

Управление выполнением программы: elseif

Управление выполнением программы: elseif

Управление выполнением программы: switch

Управление выполнением программы: switch

Основы PHP – циклы

Операторы: инкремента и декремента

++ Увеличивает значение переменной на единицу

-- Уменьшает значение переменной на единицу

PRE инкремент/декремент

++$a Увеличивает $a на единицу и

возвращает значение $a.

--$a Уменьшает $a на единицу и

возвращает значение $a.

POST инкремент/декремент

$a++ Возвращает значение $a, а затем

увеличивает $a на единицу.

$a-- Возвращает значение $a, а затем

уменьшает $a на единицу.

Циклы: for

Циклы: while

while (условие){

Инструкция 1;

Инструкция 2;

...

}

$sum = 1

while ($i<=30){

$sum += 3;

$i++;

print($sum);

}

Циклы: do… while

do{

Инструкция 1;

Инструкция 2;

...

}while(условие)

$i = 1;

$sum = 1;

do{

$sum += 3;

$i++;

print($sum);

}while($i<=30)

Управление циклами

Цикл: foreach (короткий)

foreach ($array as $value){

Инструкция;

}

//$value - доступ к значению элемента массива

$user = array("John",

"root",

"p@ssw0rd",

"312-34-85");

foreach($user as $val){

print("$val<BR>");

}

Функции: описание и вызов

Функция – программный блок, который может многократно выполняться в любом месте сценария.

/* Описание функции */

function sayHello(){

echo "Hello, world!";

}

/* Вызов функции*/

sayHello();

/* Проверка */

if(function_exists("sayHello")){}

Функции и их аргументы: описание и вызов

function sayHello($name){

echo "Hello, $name!", "<hr>";

}

//Вызываем функцию, вариант 1

sayHello("Иван");

//Вызываем функцию, вариант 2

$name = "Петр";

sayHello($name);

//Вызываем функцию, вариант 3

$func = "sayHello";

$func("Игорь");

Функции: аргументы по умолчанию

function sayHello($name="Гость"){

echo "Hello, $name!", "<hr>";

}

sayHello("Иван"); // Hello, Иван!

sayHello("Петр"); // Hello, Петр!

sayHello(); // Hello, Гость!

Функции: области видимости

$a = 1; // глобальная область видимости

function Test(){

echo $a; // локальная область видимости

}

Test(); // Не выведет ничего.

$a = 1; $b = 2;

function Sum(){

global $a, $b;

$b = $a + $b;

}

Sum();

echo $b; //Выведет 3

//Другой вариант

function Sum(){

$GLOBALS["b"] = $GLOBALS["a"] +

$GLOBALS["b"];

}

Функции: статические переменные

function Test(){

$a = 0;

echo $a++;

}

Test(); //Выведет 0

Test(); //Выведет 0

Test(); //Выведет 0

function Test(){

static $a = 0;

echo $a++;

}

Test(); //Выведет 0

Test(); //Выведет 1

Test(); //Выведет 2

Функции: возврат значений

function getSum($num1, $num2){

return $num1 + $num2;

}

$result = getSum(10, 435);

echo $result;

//или

echo getSum(10, 435);

Рекурсивный вызов функций

function factorial($n)

{

if ($n == 0) return 1;

return $n * factorial($n-1);

}

$result = factorial(5)

echo "5! = " . $result;

Функции для работы с переменными

Нижеперечисленные функции возвращают TRUE или FALSE

в зависимости от того, соответствует ли выражение

указанному типу.

is_array(expression)

is_bool(expression)

is_float(expression)

is_integer(expression)

is_numeric(expression)

is_string(expression)

is_null(expression)

intval(expression [, int base])

Возвращает целочисленное значение аргумента.

floatval(expression)

Возвращает вещественное значение аргумента.

Математические функции

max – Возвращает наибольшее число из заданых.

acos – Возвращает значение арккосинуса

значения.

cos – Возвращает косинус числа в радианах.

min – Возвращает наименьшее число из заданых.

decbin – Возвращает двоичное представление

целого числа.

log - Возвращает натуральный логарифм

значения.

pi – Возвращает приблизительное число пи.

rad2deg – Возвращает в градусах значение

аргумента заданного в радианах.

round – Возвращает округленное до ближайшего

целого числа значение заданное аргументом.

sqrt – Извлечение квадратного корня из числа.

rand – Возвращает число, лежащее между двумя

необязательными аргументами включительно.

Работа с протоколом HTTP – формы

Обработка запросов

Для GET:

$name = $_GET["name"];

$age = $_GET["age"] * 1;

Для POST:

$name = $_POST["name"];

$age = $_POST["age"] * 1;

Передача и обработка массивов

<input type=checkbox name='kurs[]' value='PHP'>

<input type=checkbox name='kurs[]' value='ASP'>

<input type=checkbox name='kurs[]' value='Perl'>

<input type=checkbox name='kurs[]' value='JS'>

//Принимаем значения

$courses = $_POST["kurs"];

//Далее работаем с массивами...

count($courses);

Cookie

Cookies - это механизм хранения данных браузером удаленного компьютера для идентификации возвращающихся посетителей и хранения параметров веб-страниц (например, переменных).

Cookie: первый запрос страницы

GET /folder/index.php?name=Vasya HTTP/1.1

Host: www.specialist.ru

Accept: */*

Accept-Language: ru

Referrer: http://yandex.ru/yandsearch?text=Rehc

User-Agent: Mozilla 4.0 (compatible; MSIE 6.1,…)

HTTP/1.1 200 OK

Server: Microsoft IIS 6

Content-Type: text/html

Content-Length: 16345

Last-Modified: Sun, 03 Jul 2005 18:00:00 GMT

Set-Cookie: userName=Vasya

Cookie: другие запросы страниц

GET /folder/index.php HTTP/1.1

Host: www.specialist.ru

Accept: */*

Accept-Language: ru

Referrer: http://yandex.ru/yandsearch?text=Rehc

User-Agent: Mozilla 4.0 (compatible; MSIE 6.1,…)

Cookie: userName=Vasya

HTTP/1.1 200 OK

Server: Microsoft IIS 6

Content-Type: text/html

Content-Length: 16345

Last-Modified: Sun, 03 Jul 2005 18:00:00 GMT

Cookie: параметры

int setcookie (string name [, string value [,

int expire [, string path [, string domain

[, int secure]]]]])

  1. Имя куки. Только латинские буквы, цифры, символ

  2. подчеркивания и дефис. Все другие символы будут

  3. преобразованы в символ подчеркивания

  4. Значение параметра

  5. Дата истечения срока годности

  6. Путь, который определяет, в какой части домена

  7. может использоваться данный файл cookie

  8. Домен

  9. Указание, что данные cookie должны передаваться

  10. только через безопасное соединение HTTPS.

Cookie: создание

setcookie ("TestCookie", $value);

setcookie ("TestCookie", $value,time()+3600);

/* период действия - 1 час */

setcookie ("TestCookie", $value,time()+3600,

"/docs/", ".site.com", 1);

//Ошибка. Произведен вывод до установки cookie

<?php

echo "Hello!";

$color = "red";

setcookie("BG", $color, time()+3600);

?>

Cookie: чтение

echo $_COOKIE["TestCookie"];

//Пример создания массива из разных cookies

while(list($name,$value) = each($_COOKIE)){

// для последовательности значений

$array[]=$value;

// для ассоциативного массива

$array[$name]=$value;

}

Cookie: массивы и cookie

//Создаем массив

$array = array(

"name"=>"John",

"login"=>"root",

"pass"=>"p@ssw0rd");

// Упаковываем массив в строку

$str = serialize($array);

//Сохраняем массив в cookie

setcookie('user',$str, time() + 3600);

//Считываем строку и переводим в массив

$array = unserialize($_COOKIE['user']);

Cookie: удаление

setcookie("TestCookie")

setcookie("TestCookie", "")

setcookie ("TestCookie", "", time() - 3600);

Сессии: создание и использование

//Начало или продолжение сессии

session_start();

$_SESSION //В этом массиве всѐ и хранится

$_SESSION["user"] = "John";

echo $_SESSION["user"];

//Удаление

unset($_SESSION["user"]);

session_destroy();

session_id();// id сессии

session_name();// Имя сессии

Получение сведений о файлах

//Существует ли файл?

file_exists("test.txt")

//Узнаем размер файла

filesize("test.txt");

//Дата последнего обращения к файлу

fileatime("test.txt");//date("d M Y", $atime);

//Дата изменения файла

filemtime("test.txt");//date("d M Y", $mtime);

//Дата создания файла(Windows)

filectime("test.txt");//date("d M Y", $ctime);

Алгоритм работы с сервером баз данных

  1. Устанавливаем соединение с сервером БД

  2. Выбираем базу данных для работы

  3. Посылаем запрос

  4. При необходимости(SELECT), работаем с

  5. выбранными данными

  6. Закрываем соединение

Подключение необходимых расширений в php.ini

• php_pdo.dll

• php_pdo_mysql.dll

• php_mysql.dll

Функции PHP для работы с сервером MySQL

$conn = mysql_connect("host","login","pass")

mysql_close([$conn])

$conn = @mysql_connect("localhost", "root", "1234")

or die("Ошибка!");

//

//

//

mysql_close([$conn]);

Функции PHP для работы с сервером MySQL

mysql_select_db(string db, [$conn]);

mysql_errno ([$conn]);

mysql_error ([$conn]);

$conn = @mysql_connect("localhost", "root",

"1234") or die("Ошибка!");

mysql_select_db("news");

if(mysql_errno() > 0){

echo mysql_errno(). ": ". mysql_error();

}

mysql_close([$conn]);

Функции PHP для работы с сервером MySQL

$result = mysql_query(string query[, $conn])

$row = mysql_fetch_array($result[, type])

//По умолчанию

mysql_fetch_array($result, MYSQL_BOTH)

//Индексированный массив

mysql_fetch_array($result, MYSQL_NUM)//Что и

mysql_fetch_row($result)

//Ассоциативный массив

mysql_fetch_array($result, MYSQL_ASSOC)//Что и

mysql_fetch_assoc($result)

Функции PHP для работы с сервером MySQL

//Точечная выборка

mysql_result($result, int row, string field)

mysql_num_rows($result)//Количество записей

mysql_num_fields($result)//Кол-во полей

mysql_field_name($result, int field)//Имя поля

$result = mysql_query("SELECT * FROM news");

echo mysql_num_rows($result);

mysql_affected_rows([$conn])//Кол-во изменений

mysql_query("DELETE FROM news WHERE pubDate =

'2005-06-11'");

echo mysql_affected_rows();

mysql_insert_id([$conn])//id последней записи