Реферат по предмету "Информатика, программирование"


Вводный курс в PHP

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РФ
Сибирский институт права экономики и управления
Факультет: Компьютерных технологии и информационных систем
Специальность «прикладная информатика в экономике»
ДОКЛАД
По дисциплине «Мировые информационные ресурсы»
Тема: «Вводный курс в PHP»
Выполнил:
Студент ПИ-04
Проверил:
Ангарск 2008 г
Переменные
В РНР переменные начинаются сознака доллара ($). За этим знаком может следовать любое количествобуквенно-цифровых символов и символов подчеркивания, но первый символ не можетбыть цифрой. Следует также помнить, что имена переменных в РНР чувствительны крегистру, в отличие от ключевых слов.
При объявлении переменных в РНРне требуется явно указывать тип переменной, при этом одна и та же переменнаяможет иметь на протяжении программы разные типы. Переменная инициализируется вмомент присваивания ей значения и существует до тех пор, пока выполняетсяпрограмма. Т.е., в случае web-страницы это означает, что до тех пор, пока незавершен запрос.
После того, как запрос клиентапроанализирован веб-сервером и передан РНР машине, последняя устанавливает рядпеременных, которые содержат данные, относящиеся к запросу и доступны все времяего выполнения. Сначала РНР берет переменные окружения Вашей системы и создаетпеременные с теми же именами и значениями в окружении сценария РНР для тогочтобы сценариям, расположенным на сервере были доступны особенности системыклиента. Эти переменные помещаются в ассоциативный массив $HTTP_ENV_VARS
Естественно, что переменныемассива $HTTP_ENV_VARS являются системно зависимыми (поскольку это фактическипеременные окружения). Посмотреть значения переменных окружения для Вашеймашины Вы можете при помощи команды env (Unix) или set (Windows).
Затем РНР создает группуGET-переменных, которые создаются при анализе строки запроса. Строка запросахранится в переменной $QUERY_STRING и представляет собой информацию, следующуюза символом "? " в запрошенном URL. РНР разбивает строку запроса посимволам & на отдельные элементы, а затем ищет в каждом из этих элементовзнак "=". Если знак "=" найден, то создается переменная сименем из символов, стоящих слева от знака равенства. Рассмотрим следующуюформу:

HDD:
CDROM:

Конец формы
Если Вы в этой форме в строкеHDD наберете, к примеру, «Maxtor», а в строке CDROM «Nec»,то она сгенерирует следующую форму запроса:
http: // localhost/PHP/test.php? HDD=Maxtor&CDROM=Nec
В нашем случае РНР создастследующие переменные: $HDD = «Maxtor» и$CDROM = «Nec».
Вы можете работать с этимипеременными из Вашего скрипта (у нас – test. php) как с обычными переменными. Внашем случае они просто выводятся на экран:

echo("HDD is$HDD");
echo("CDROMis $CDROM");
? >
Если запрос страницы выполняетсяпри помощи метода POST, то появляется группа POST-переменных, которыеинтерпретируются также и помещаются в массив $HTTP_POST_VARS.
PHP предоставляет определеннуюгибкость в отношении типов переменных, т.е. с одной и той же переменной напротяжении программы можно работать и как со строкой, и как с числом. Однако,несмотря на это в РНР существуют набор основных типов данных, которые могутявно указываться при работе с переменными:
integer;
string;
boolean;
double;
array;
object;
Есть функция gettype(),возвращающая тип, который РНР назначил переменной:

$var =«5»;
$var1 = 5;
echo(gettype($var));
echo"";
echo(gettype($var1));
? >
В первом случае РНР вернетstring, во втором integer. Существует также функция settype(), которая явно устанавливаеттип:

$var =«5»;
echo(gettype($var));settype($var, integer);
echo""; echo(gettype($var));
? >
Выполнение этого фрагмента кодаприведет к такому же результату, как и предыдущего. Кроме функции settype() преобразованиетипов в РНР можно осуществлять при помощи операторов преобразования типов. Преобразованиетипов осуществляется путем указания перед переменной ее нового типа, взятого вскобки: $var = (int) $var; Соответственно, выполнение следующего кода приведетк тому, что РНР вернет integer:

$var = «5»; // типstring
$var = (int) $var; // преобразуемв int
echo(gettype($var));
? >
Передача переменных в php
Очень часто возникаетпотребность передачи переменных скрипту на php. Для этого существует 2 метода GET и POST рассмотрим на примере — заполнениекакой-либо формы, например формы с логином и паролем.
Итак, прежде всего, давайтеопределимся с формой. Например, ее html код может выглядеть следующий образом:

Логин:
Пароль:


Результат компиляции данногоhtml кода будет примерно следующим: (см рис 1)
/>
Рис.1
Рассмотрим открывающий тэг Form.В нашем случае он содержит два параметра:
method=«post» action=«login.php» Action указывает, на какой именно документ должна воздействоватьформа (в нашем случае на login. php — ему и будут передаваться переменные). Параметрmethod указывает метод передачи переменных. В данном случае метода: post.
Метод GET аналогичен. Принцип их отличия лишь в одном — в методепередачи переменных. Если вы будите использовать метод get, переменные и ихзначения будут передаваться прямо в адресной строке, в нашем случае это будетстрока вида:
login. php? login=введенноезначение логина&pas=введенное значение пароля
В общем виде, такой методпередает переменные и их содержание по следующему синтаксису:
[адрес сайта] [имя скрипта]? ([переменная1] = [значение переменной 1]) &([переменная 2] = [значение переменной 2])…&([переменная N] = [значение переменной N])
Например, если ввести в нашуформу логин User и пароль 12345 и нажать на кнопку Ok, то откроется страница садресом:
[адрес сайта, где размещенскрипт] login. php? login=User&pas=12345 Метод post передает все данные взаголовках — специальных областях сетевых пакетов. Данный метод характеризуетсяполной прозрачностью для пользователя — он даже может и не заметить, что что-топередается от скрипта к скрипту. Чтобы принять на php переданные переменные, несмотря на то, что этого иногда можно и не делать, все же лучше всегонепосредственно указывать, откуда нужно брать их значение. А данные значенияберутся из соответствующих массивов — для метода get это массив $_GET, для post- $_POST.
Например, чтобы в скрипте login.php принять переменные, которые ему передает наша форма, нам нужно взять ихзначения из соответствующего массива:

$login=$_POST ['login']; // логин
$pas= $_POST ['pas']; // пароль
? >
Аналогично нужно поступать икогда используется метод get. Какой метод передачи переменных в php лучшевыбрать? Все зависит от конкретных задач. Например, если это скрипт форума — нужноиспользовать метод post иначе get будет накладывать существенное ограничение — незабывайте, что он передает имена и значения переменных через адресную строку,максимальная длина которой ограничена 256 символами.
Если же вам нужно передаватькакие-либо переменные для перехода от страницы к странице удобней использоватьметод get — ведь передачу переменных в нем можно осуществить, просто указавсоответствующим образом адрес скрипта (добавив к нему? ([переменная 1] = [значениепеременной 1]) &([переменная 2] = [значение переменной 2])… &([переменнаяN] = [значение переменной N])). Операторы языка PHP
Операторы цикла.
Операторы цикла задаютмногократное исполнение операторов в теле цикла. В PHP определены 4 разныхоператора цикла:
1) Цикл с предусловием:
while(condition) {
statements;
} 2) Цикл с постусловием:
do{
statements;
}while(condition);
3) Итерационныйцикл:
for(expression1;expression2; expression3) {
statements;
}
3) Итерационныйцикл foreach:
foreach (arrayas [$key =>] $value)
{
statements;
}
Операторы выбора/ if… else
К операторам выбора относят: условныйоператор (if… else) и переключатель (switch). Синтаксис условного оператора: if(condition) statement1 else statement2
Условие condition может бытьлюбым выражением. Если оно истинно, то выполняется оператор statement 1. Впротивном случае выполняется оператор statement 2. Допустима сокращеннаяформа записи условного оператора, в которой отсутствуют else и операторstatement 2.
В свою очередь, операторыstatement 1 и statement 2 могут быть условными, что позволяеторганизовывать цепочки проверок любой глубины вложенности. И в этих цепочкахкаждый условный оператор может быть как полным, так и сокращенным. В связи сэтим возможны ошибки неоднозначного сопоставления if и else.
Синтаксис языка предполагает,что при вложенных условных операторах каждое else соответствует ближайшему if. Вкачестве такого ошибочного примера можно привести следующую конструкцию [ПодбельскийВ.В. Язык С++. М.: Финансы и статистика, 2001]:

$x = 1; $y = 1;
if($x == 1)
if($y == 1) echo(«x=1and y=1»);
else echo(«x! =1»);
? >
При х равном 1 и у равном 1совершенно справедливо печатается фраза «х = 1 and у = 1».Однако фраза «х! =1» может быть напечатана при х равном 1 и при у неравном 1, так как else соответствует ближайшему if. Условный внешний оператор,где проверяется $x == 1, является сокращенным и в качествеstatement 1 включает полный условный оператор, где проверяется условие $у ==1.Т. е. проверка этого условия выполняется только при х равном 1.Простым правильным решением этой задачи является применение фигурных скобок, т.е.построение составного оператора, т.е. нам нужно фигурными скобками ограничитьобласть действия условного внутреннего оператора, сделав его неполным. Темсамым внешний оператор превращается в полное условие:

$x = 1; $y = 1;
if($x==1) {
if($y==1) echo(«x=1and y=1»);
}else echo(«x! =1»);
? >
Заметим, что проверкадополнительных условий возможна при помощи оператора elseif. Оператор if можетвключать сколько угодно блоков elseif, но else в каждом if может быть толькоодин. Как правило, в конструкциях if…elseif…else оператор else определяет, чтонужно делать, если никакие другие условия не являются true. Однако, вообщеговоря, использование оператора elseif довольно сильно ухудшает читабельностькода, и лучше в этом случае пользоваться переключателем (switch).
РНР предоставляет такжевозможность альтернативного синтаксиса условного оператора – без фигурныхскобок, а с применением оператора endif. В следующем примере первая таблицапомещается на страницу, если только $_GET ['HDD'] равно «Maxtor», авторая — если «Seagate». Наличие оператора endif в этом случаеобязательно, так как фигурная скобка, обозначающая конец блока if, отсутствует:

if($_GET ['HDD']== «Maxtor»):
? >

Maxtor


elseif($_GET ['HDD']== «Seagate»):
? >
Seagate

endif;
? >
Результат выполнения скрипта:
/>
рис.2 Форма запроса
/>
Рис.3 Результат выполненияскрипта
Значение переменной $_GET ['HDD']передается формой test. html скрипту test. php. Код формы test.html:

HDD:

РНР также, как и С++, Javaпредоставляет возможность заменять блоки if…else условной операцией (в отличиеот унарных и бинарных операций условная операция используется с тремяоперандами). В изображении условной операции присутствуют два размещенных неподряд символа ‘? ’ и ‘: ’ и три операнда выражения: выражение_1? выражение_2: выражение_3
Первым вычисляется значениевыражения_1. Если оно истинно (т.е. не равно нулю), то вычисляется значениевыражения_2, которое и становится результатом. Если при вычислении значениявыражения_1 получится ноль (ложь), то в качестве результата берется выражение_3.Классическим примером условной операции является выражение x
Это выражение возвращаетабсолютное значение переменой x.Т. е., к примеру, код

if($_GET ['HDD']== «Maxtor») {
$_GET ['CDROM']= «Teac»;
}
else{ $_GET ['CDROM'] =«Nec»;
}
? >
можно, используя условнуюоперацию, заменить таким:


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.