Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


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

Тип Реферат
Предмет Информатика
Просмотров
771
Размер файла
36 б
Поделиться

Ознакомительный фрагмент работы:

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

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РФ

Сибирский институт права экономики и управления

Факультет: Компьютерных технологии и информационных систем

Специальность "прикладная информатика в экономике"

ДОКЛАД

По дисциплине "Мировые информационные ресурсы"

Тема: "Вводный курс в PHP"

Выполнил:

Студент ПИ-04

Проверил:

Ангарск 2008 г

Переменные

В РНР переменные начинаются со знака доллара ($). За этим знаком может следовать любое количество буквенно-цифровых символов и символов подчеркивания, но первый символ не может быть цифрой. Следует также помнить, что имена переменных в РНР чувствительны к регистру, в отличие от ключевых слов.

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

После того, как запрос клиента проанализирован веб-сервером и передан РНР машине, последняя устанавливает ряд переменных, которые содержат данные, относящиеся к запросу и доступны все время его выполнения. Сначала РНР берет переменные окружения Вашей системы и создает переменные с теми же именами и значениями в окружении сценария РНР для того чтобы сценариям, расположенным на сервере были доступны особенности системы клиента. Эти переменные помещаются в ассоциативный массив $HTTP_ENV_VARS

Естественно, что переменные массива $HTTP_ENV_VARS являются системно зависимыми (поскольку это фактически переменные окружения). Посмотреть значения переменных окружения для Вашей машины Вы можете при помощи команды env (Unix) или set (Windows).

Затем РНР создает группу GET-переменных, которые создаются при анализе строки запроса. Строка запроса хранится в переменной $QUERY_STRING и представляет собой информацию, следующую за символом "? " в запрошенном URL. РНР разбивает строку запроса по символам & на отдельные элементы, а затем ищет в каждом из этих элементов знак "=". Если знак "=" найден, то создается переменная с именем из символов, стоящих слева от знака равенства. Рассмотрим следующую форму:

<form action = "http: // localhost/PHP/test. php" method="get">

HDD: <input type="text" name="HDD"/><br>

CDROM: <input type="text" name="CDROM"/><br>

<input type="submit"/>

Конец формы

Если Вы в этой форме в строке HDD наберете, к примеру, "Maxtor", а в строке CDROM "Nec", то она сгенерирует следующую форму запроса:

http: // localhost/PHP/test. php? HDD=Maxtor&CDROM=Nec

В нашем случае РНР создаст следующие переменные: $HDD = "Maxtor" и $CDROM = "Nec".

Вы можете работать с этими переменными из Вашего скрипта (у нас – test. php) как с обычными переменными. В нашем случае они просто выводятся на экран:

<?

echo("<p>HDD is $HDD</p>");

echo("<p>CDROM is $CDROM</p>");

? >

Если запрос страницы выполняется при помощи метода POST, то появляется группа POST-переменных, которые интерпретируются также и помещаются в массив $HTTP_POST_VARS.

PHP предоставляет определенную гибкость в отношении типов переменных, т.е. с одной и той же переменной на протяжении программы можно работать и как со строкой, и как с числом. Однако, несмотря на это в РНР существуют набор основных типов данных, которые могут явно указываться при работе с переменными:

integer;

string;

boolean;

double;

array;

object;

Есть функция gettype(), возвращающая тип, который РНР назначил переменной:

<?

$var = "5";

$var1 = 5;

echo(gettype($var));

echo "<br>";

echo(gettype($var1));

? >

В первом случае РНР вернет string, во втором integer. Существует также функция settype(), которая явно устанавливает тип:

<?

$var = "5";

echo(gettype($var)); settype($var, integer);

echo "<br>"; echo(gettype($var));

? >

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

<?

$var = "5"; // тип string

$var = (int) $var; // преобразуем в int

echo(gettype($var));

? >

Передача переменных в php

Очень часто возникает потребность передачи переменных скрипту на php. Для этого существует 2 метода GET и POST рассмотрим на примере - заполнение какой-либо формы, например формы с логином и паролем.

Итак, прежде всего, давайте определимся с формой. Например, ее html код может выглядеть следующий образом:

<form method="post" action="login. php">

Логин: <br><input type="edit" name="login"><br>

Пароль: <br><input type="password" name="pas"><br>

<input type="submit" value="Ok">

</form>

Результат компиляции данного 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 принять переменные, которые ему передает наша форма, нам нужно взять их значения из соответствующего массива:

<? 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 (array as [$key =>] $value)

{

statements;

}

Операторы выбора/ if... else

К операторам выбора относят: условный оператор (if... else) и переключатель (switch). Синтаксис условного оператора: if(condition) statement 1 elsestatement 2

Условие 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=1 and 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=1 and 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"):

? >

<table>

<caption> Maxtor </caption>

</table>

<?

elseif($_GET ['HDD'] == "Seagate"):

? >

<table><caption> Seagate </caption></table>

<?

endif;

? >

Результат выполнения скрипта:

рис.2 Форма запроса

Рис.3 Результат выполнения скрипта

Значение переменной $_GET ['HDD'] передается формой test. html скрипту test. php. Код формы test. html:

<form action = "http: // localhost/PHP/test. php; " method=get>

HDD: <input type="text" name="HDD"/><br> <input type="submit"/>

</form>

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

Первым вычисляется значение выражения_1. Если оно истинно (т.е. не равно нулю), то вычисляется значение выражения_2, которое и становится результатом. Если при вычислении значения выражения_1 получится ноль (ложь), то в качестве результата берется выражение_3. Классическим примером условной операции является выражение x < 0? –x: x;

Это выражение возвращает абсолютное значение переменой x.Т. е., к примеру, код

<?

if($_GET ['HDD'] == "Maxtor") {

$_GET ['CDROM'] = "Teac";

}

else{ $_GET ['CDROM'] = "Nec";

}

? >

можно, используя условную операцию, заменить таким:

<? $_GET ['CDROM'] = ($HDD == "Maxtor") ? "Teac": "Nec";? >


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно