Лекции по "Проектированию ИС"

Автор работы: Пользователь скрыл имя, 27 Июня 2013 в 13:48, курс лекций

Описание работы

1. Особенности программирования для Web. Различия в программировании на стороне клиента и сервера. Инструменты и технологии программирования.
Есть два типа программирования в веб-приложениях: на стороне клиента и на стороне сервера.
Программирование на стороне клиента означает использование языка программирования, который будет выполняться в веб-браузере пользователя. Стандартным языком программирования на стороне клиента, на сегодняшний день, является JavaScript. JavaScript может быть включён в отдельные текстовые файлы, на которые ссылаются файлы HTML, или же вы можете вставить его прямо в HTML в специальные теги HTML — script теги. Когда веб-браузер пользователя встречает эти теги, он выполняет код JavaScript, содержащийся либо в тегах, либо в файлах.

Файлы: 1 файл

Otvety_VP.docx

— 67.35 Кб (Скачать файл)

[a-z]+   - Один или более символов нижнего регистра

[0-9.-]  -  Любая цифра, точка или знак минус

^[a-zA-Z0-9_]{1,}$  - Любое слово, хотя бы одна буква, число или _

([wx])([yz])  - wy, wz, xy, или xz

(^A-Za-z0-9)  - Любой символ (не число и не буква)

([A-Z]{3}|[0-9]{4})  - Означает три буквы или 4 цифры

==Функция - Описание==

1. preg_match() - ищет строку по заданному  шаблону, возвращает true, если строка  находится и false, в остальных  случаях

2. preg_match_all() находит все вхождения строки, заданной по шаблону

3. preg_replace() действует по тому же принципу, что и ereg_replace(), за исключением того, что регулярные выражения можно использовать как для задания шаблона поиска, так и для строки, на которую следует заменить, найденное значение.

4. preg_split() действует так же как split(), за исключением того, что регулярное выражение можно использовать в качестве параметра для шаблона поиска.

5. preg_grep() ищет все элементы входного массива, возвращая все элементы, соответствующие шаблону регулярного выражения.

6. preg_quote() Экранирует символы регулярного выражения

 

 

19. Язык программирования PHP. Работа с текстовыми файлами.

PHP — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений.

Серверный языком сценариев. Код PHP внедряется в HTML-страницу и выполняется на сервере  при каждой ее загрузке. Интерпретируется веб-сервером (выполняется построчно) и генерируется HTML-код.

открыть файл. Имя файла – это  не URL, это физическое расположение этого файла.

Например:

$f = fopen (<имя файла>, <режим открытия>);

Режим открытия:

1. “r” – для чтения

2. “r+” – для чтения и записи

3. w – для записи

4. w+ – для записи и чтения (уничтожение существующего и перезапись)

5. a – append (режим добавления в конец файла)  

fwrite ($f, <строка для записи>); –  запись одной строки

$r = fgets ($f); – чтение из файла

$p = file ($f);

fclose ($f); - закрытие файла 

unlink (<имя файла>); – удалить  файл

file_exists (<имя>); - проверка существования  файла

filesize (<имя файла>); – размер  файла в виде количества строк  (для текстового)

fseek ($f, n) – установка указателя  на какой-либо элемент в файле

 

 

20. Язык программирования PHP. Включение в программу внешних  скриптов. Пользовательские подпрограммы. Обработка входных данных.

PHP — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений.

Серверный языком сценариев. Код PHP внедряется в HTML-страницу и выполняется на сервере  при каждой ее загрузке. Интерпретируется веб-сервером (выполняется построчно) и генерируется HTML-код.

 

Операторы include() и require(), подключают и  вычисляют внешние файлы.

include() выводит warning!, а require() выдаёт fatal error. Иначе говоря, используйте require(), если вы хотите, чтобы отсутствие файла останавливало процессинг страницы. include() не работает, таким образом, скрипт продолжит выполнение.

Любые переменные, определенные до подключения  внешнего файла, будут доступны и  в вызываемом файле. Переменные, определенные в подключенном файле, будут доступны и в вызывающем файле после  точки подключения.

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

В PHP такими подпрограммами являются пользовательские функции. Пользовательская функция может быть объявлена  в любой части программы, до места  ее первого использования.

Синтаксис объявления функций следующий:

function Имя (аргумент1[=значение1],...,аргумент1[=значение1])

{тело_функции}

Например:

f ($a, $b=0);

  f (5, 5) – переменная а будет равна 5, переменная b будет равна 5.

  f ( ) – выдаст ошибку

f ($a=1, $b=0);

  f ( ) – переменная а будет равна 1, переменная b будет равна 0 (по умолчанию).

$a = $b = 1;

Function f ( );

{global $a

Print $a, $b;}

Выведется только значение а, которое  равно 1 (т.к. а – глобальная переменная).

==Передача аргументов по ссылке==

есть два вида аргументов функций:

параметры-значения; параметры-переменные.

Функции не могут изменить параметр-значение, то есть он доступен функции "только для чтения" - она может его  использовать, но не более. В качестве параметра-значения необязательно  указывать переменную, можно указать  само значение, отсюда название - параметр-значение.

По умолчанию аргументы в  функцию передаются по значению (это  означает, что если вы измените значение аргумента внутри функции, то вне  ее значение все равно останется  прежним).

В отличие от параметров-значений, параметры-переменные могут быть изменены в процессе работы функции. Тут уже  нельзя передавать значение, нужно  обязательно передать переменную. В PHP для объявления параметров-переменных используется механизм передачи переменной по ссылке.

Если вы хотите, что бы аргумент всегда передавался по ссылке, вы должны указать амперсанд (&) перед именем аргумента в описании функции:

<?php

function funct(&$string)

{  $string .= 'а эта внутри.'; }

$str = 'Эта строка за пределами  функции, ';

funct($str);

echo $str;    // Выведет 'Эта  строка за пределами функции,  а эта внутри.'

?>

 

 

21. Язык программирования PHP. Доступ к базам данных.

PHP — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений.

Серверный языком сценариев. Код PHP внедряется в HTML-страницу и выполняется на сервере  при каждой ее загрузке. Интерпретируется веб-сервером (выполняется построчно) и генерируется HTML-код.

Любое веб-приложение, использующее БД, должно реализовывать следующие  действия:

1. Проверка и фильтрация данных, получаемых от пользователя

\” – действие кавычек отменяется

“$a” – значение переменной а

‘$a’ – строка $a

2. Установка соединения с БД (mysql_connect)

3. Передача запросов в БД (mysql_query)

4. Получение результатов и предоставление результатов пользователю (mysql_fetch_array)

Куки

Setcookie (‘name’, ‘value’ [, time]) – установить  значение куки

Пользователь может отключить  куки.

$_COOKIE [‘logged’]=1;

Сессии

session_start(); - старт сессии

При закрытии браузера сессия закрывается. При открытии браузера открывается  новая сессия, нужно снова вводить  пароль. Отключить сессию невозможно пользователю. 

$_SESSION [‘logged’]=1;

Шифрование

$k=mt_rand (1, 1000000); // генерирует случайные  числа от 1 до 1000000

$k=md5 ($k); // функция шифрования

Для подключения к базе tests можно  использовать следующий код:

<?php

$db = @mysql_connect("localhost", "root", "123456");

if (!$db) {

echo "Не удается подключиться  к БД";}

else {

//работаем с БД :)

mysql_select_db ("tests");

mysql_close($db); //закрываем соединение}

?>

==Обработка результата  запроса==

Для обработки результата запроса  используются следующий функции:

mysql_num_rows () - возвращает количество  записей в результате

mysql_num_fields () - возвращает количество  полей в результате

mysql_result () - позволяет получить доступ  к отдельному полю по указанному  номеру строки. Нумерация строк  начинается с нуля.

mysql_fetch_array () - возвращает результат  в виде списка и ассоциированного  массива.

mysql_fetch_row () - возвращает результат  в виде списка

mysql_fetch_assoc () - возвращает результат  в виде ассоциированного массива

mysql_fetch_object () - возвращает результат  в виде объекта

 

 

22. Аутентификация пользователей  средствами PHP.

Аутентификация - процедура проверки подлинности, например: проверка подлинности пользователя путём сравнения введённого им пароля с паролем в базе данных пользователей.

Куки

Setcookie (‘name’, ‘value’ [, time]) – установить  значение куки

Пользователь может отключить  куки.

$_COOKIE [‘logged’]=1;

Сессии

session_start(); - старт сессии

При закрытии браузера сессия закрывается. При открытии браузера открывается  новая сессия, нужно снова вводить  пароль. Отключить сессию невозможно пользователю. 

$_SESSION [‘logged’]=1;

Шифрование

$k=mt_rand (1, 1000000); // генерирует случайные  числа от 1 до 1000000

$k=md5 ($k); // функция шифрования

==СЕССИИ (СЕАНСЫ) В PHP==

Сессии и cookies предназначены для  хранения сведений о пользователях  при переходах между несколькими  страницами. При использовании сессий данные сохраняются во временных  файлах на сервере. Файлы с cookies хранятся на компьютере пользователя, и по запросу  отсылаются браузером серверу.

Использование сессий и cookies очень  удобно и оправдано в таких  приложениях как Интернет-магазины, форумы, доски объявлений, когда, во-первых, необходимо сохранять информацию о  пользователях на протяжении нескольких станиц, а, во-вторых, своевременно предоставлять  пользователю новую информацию.

Протокол HTTP является протоколом "без  сохранения состояния". когда пользователь открывает сначала одну страницу сайта, а затем переходит на другую страницу этого же сайта, установить, что оба запроса относятся к одному пользователю. Т. о. необходим метод, при помощи которого можно было бы отслеживать информацию о пользователе в течение одного сеанса связи с Web-сайтов. Одним из таких методов является управление сеансами при помощи предназначенных для этого функций.

При работе с сессиями различают  следующие этапы:

==Открытие сессии==

Самый простой способ открытия сессии заключается в использовании  функции 

session_start

Синтаксис:  session_start();

Эта функция проверяет, существует ли идентификатор сессии, и, если нет, то создает его. Если идентификатор  текущей сессии уже существует, то загружаются зарегистрированные переменные сессии.

==Регистрация переменных  сессии==

После инициализации сессии появляется возможность сохранять информацию в суперглобальном массиве $_SESSION. Пусть имеется файл index.php в котором  в массив $_SESSION сохраняется переменная и массив.

<?php

  // Инициируем сессию

  session_start();

  // Помещаем значение в сессию

  $_SESSION['name'] = "value";

  // Помещаем массив в сессию

  $arr = array("first", "second", "third");

  $_SESSION['arr'] = $arr;

  // Выводим ссылку на другую  страницу

  echo "<a href='other.php'>другая страница</a>";

?>

На страницах, где происходит вызов  функции session_start(), значения данных переменных можно извлечь из суперглобального массива $_SESSION.

<?php

  // Инициируем сессию

  session_start();

  // Выводим содержимое суперглобального массива $_SESSION

  echo "<pre>";

  print_r($_SESSION);

  echo "</pre>";

?>

Результат работы скрипта выглядит следующим образом:

Array

(    [name] => value

    [arr] => Array

        (

            [0] => first

            [1] => second

            [2] => third      ))

==Закрытие сессии==

После завершения работы с сессией  сначала нужно разрегистрировать  все переменные сессии, а затем  вызвать функцию unset():

Синтаксис:  unset($_SESSION["username"]);

==Пример простой сессии==

Рассмотрим пример простой сессии, работающей с тремя страницами. При  посещении пользователем первой страницы открывается сессия и регистрируется переменная $username.:

<?

  session_start();

  $_SESSION['username'] = "maksim";

  echo 'Привет, '.$_SESSION['username']."<br>";

?>

  <a href="page2.php">На следующую  страницу </a>

После этого, пользователь maksim нажимает на ссылку и попадает на страницу page2.php, код которой приведен в листинге:

<?

  session_start();

  echo $_SESSION['username'].' , ты пришел  на другую страницу этого сайта!';

  echo("<br>");

?>

  <a href="page3.php">На следующую  страницу </a>

При нажатии на ссылку, пользователь попадает на страницу page3.php, при этом происходит разрегистрация сеансовой  переменной и уничтожение сессии.

<?

  session_start();

  unset($_SESSION['username']); // разрегистрировали  переменную

  echo 'Привет, '.$_SESSION['username'];

  /* теперь имя пользователя уже не выводится */

  session_destroy(); // разрушаем сессию

?>

После разрегистрации сеансовой переменной значение массива $_SESSION['username'] уже недоступно.

==КУКИ==

Определение Cookies - это текстовые  строки, хранящиеся на стороне клиента, и содержащие пары "имя-значение", с которыми связан URL, по которому браузер  определяет, нужно ли посылать cookies на сервер.

==Установка cookies==

Установка cookies производится с помощью  функции setcookie:

Синтаксис:

  bool setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])

Эта функция имеет следующие  аргументы:

name - имя устанавливаемого cookie;

value - значение, хранящееся в cookie с именем $name;

expire - время в секундах с начала  эпохи, по истечение которого  текущий cookie становится недейтвительным;

path - путь, по которому доступен cookie;

domain - домен, из которого доступен cookie;

secure - директива, определяющая, доступен  ли cookie не по запросу HTPPS. По  умолчанию эта директива имеет  значение 0, что означает возможность  доступа к cookie по обычному запросу  HTTP.

 

==Пример простого приложения  с cookies==

Давайте создадим простой сценарий, подсчитывающий при помощи cookies количество обращений посетителя к странице.

В cookie с именем counter будет храниться  число посещений страницы пользователем:

<?

  $counter++;

  setcookie("counter",$counter);

  echo("Вы посетили эту страницу $counter раз");

?>

При работе с cookies необходимо учитывать  важный момент, заключающийся в том, что cookie надо обязательно устанавливать  перед отправкой в браузер  каких-либо заголовков, поскольку сами cookies устанавливаются в виде заголовков. Поэтому если установить cookies после  какого-либо текста, отправляемого  в броузер, то возникнет ошибочная  ситуация.

Заметим, что в этих листингах  мы обращаемся к переменной $counter, в  которой хранится значение cookie, как  к глобальной, что требует наличия  включенной директивы register_globals. Если эта  директива отключена, то значение, хранящееся в cookie можно получить через глобальный массив $_COOKIE["name"]:

<?

  $_COOKIE['counter']++;

  setcookie("counter",$_COOKIE['counter']);

  echo 'Вы посетили эту страницу '.$_COOKIE['counter'].' раз';

?>

==Установка срока годности cookies==

По умолчанию cookies устанавливаются  на один сеанс работы с броузером, однако можно задать для них более  продолжительный срок существования. Это очень удобное и полезное свойство, поскольку в этом случае пользователю не нужно предоставлять  свои данные вновь при каждом посещении  сайта.

Информация о работе Лекции по "Проектированию ИС"