Рефераты. Информационно-обучающий сайт по ТОЭ/ТЭЦ

Программы PHP могут выполняться двумя способами: как сценарное приложение Web-сервером и как консольные программы. Поскольку, нашей задачей является программирование web-приложений, мы преимущественно будем рассматривать первый способ. Дело в том, что на PHP, как правило, используется сугубо для программирования приложений, связанных с Интернетом. Однако, PHP можно еще использовать в качестве интерпретатора командной строки, в основном в *nix-системах. При таком использовании PHP возможно решение следующих задач:

· создание приложений интерактивной командной строки;

· создание кросс-платформенных GUI приложений при помощи библиотеки PHP-GTK;

· автоматизация некоторых задач под Windows и Linux

Рассмотрим процесс выполнения php-сценария при обращении броузера к серверу. Итак, вначале броузер запрашивает страницу с расширением .php, после чего web-сервер пропускает программу через машину PHP и выдаёт результат в виде html-кода. Причем, если взять стандартную страницу HTML, изменить расширение на .php и пропустить её через машину PHP, последняя просто перешлёт её пользователю без изменений. Чтобы включить в этот файл команды PHP, необходимо заключить команды PHP в специальные теги:

<?php... ?> или <?...?>

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

Инструкции завершаются точкой с запятой (;)

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

К скалярным типам данных относятся

· целый тип (integer),

· вещественный тип данных (float, double),

· логический тип (boolean),

· строковый тип (string)

· специальный тип NULL.

К нескалярным типам относится

· «ресурс» (resource),

· массив (array)

· и объект (object).

Среди наиболее часто используемых возможностей PHP стоит отметить следующие:

· имеется большой набор функций для работы со строками;

· работа с регулярными выражениями PCRE.

· работа с базами данных, осуществляемая посредством модулей:

§ php5-mysql для MySQL,

§ php5-pgsql для PostgreSQL

§ и др.

· для PHP разработаны средства шаблонирования веб-страниц, позволяющие эффективно разделить представление от модели, например Smarty;

· имеется библиотека для работы с графическими изображениями GD, позволяющая производить преобразования с графическими файлами, и создавать изображения «на лету».

Вот пример формы, которая передает эти пременные:

<form action ="mail.php" method="POST" name="form1">

<br>Введите ФИО:<br>

<input type="text" name="fio" >

<br>Введите email:<br>

<input type="text" name="email">

<br>Укажите тип доставки:<br>

<select name="delivery" size="1">

<option>Срочная

<option>Обычная

</select>

<br>Введите свой домашний адрес:<br>

<textarea name="address" rows="5" cols="30">

</textarea>

<br>

<br>Введите условие задачи:<br>

<textarea name="condition" rows="10" cols="30">

</textarea>

<br>

<input type="submit" value="Отправить">

</form>

Переменные от формы скрипту могут передаваться двумя методами, это: POST и GET.

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

Условие condition может быть любым выражением. Если оно истинно, то выполняется оператор statement1. В противном случае выполняется оператор statement2. Допустима сокращенная форма записи условного оператора, в которой отсутствуют else и оператор statement2, напимер:

if (!empty($regis)){…}

else{…}

В данном проекте также использовалась возможность работы с базами данных:

MySQL - это одна из самых популярных и самых распространенных СУБД (система управления базами данных) в интернете. Она не предназначена для работы с большими объемами информации, но ее применение идеально для интернет сайтов, как небольших, так и достаточно крупных.

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

Немаловажным фактором является ее бесплатность. MySQL распространяется на условиях общей лицензии GNU (GPL, GNU Public License).

Структурированный язык запросов SQL позволяет производить различные операции с базами данных: создавать таблицы, помещать, обновлять и удалять из них данные, производить запросы из таблиц и т.д. Далее мы последовательно рассмотрим все эти операторы.

CREATE DATABASE

Эта команда создает новую базу данных:

CREATE DATABASE db_name;

Здесь db_name является именем создаваемой базы данных. Для того чтобы создать новую базу данных forum, наберите в строке-приглашении клиента MySQL mysql> эту команду и укажите название базы данных:

mysql> CREATE DATABASE forum;

CREATE TABLE

Команда CREATE TABLE создает новую таблицу в выбранной базе данных и которая в простейшем случае имеет следующий синтаксис:

CREATE TABLE table_name [(create_definition, ...)]

Здесь table_name - имя создаваемой таблицы

ALTER TABLE

Команда ALTER TABLE позволяет изменить структуру таблицы. Эта команда позволяет добавлять и удалять столбцы, создавать и уничтожать индексы, переименовывать столбцы и саму таблицу. Команда имеет следующий синтаксис:

ALTER TABLE table_name alter_spec

DROP TABLE

Команда DROP TABLE предназначена для удаления одной или нескольких таблиц:

DROP TABLE table_name [ ,table_name,...]

К примеру, для удаления таблицы forums нужно выполнить следующий SQL-запрос:

mysql> DROP TABLE forums;

DROP DATABASE

Команда DROP DATABASE удаляет базу данных со всеми таблицами входящими в её состав:

DROP DATABASE database_name

Удалим, например, базу данных forum:

mysql> DROP DATABASE forum;

INSERT INTO…VALUES

Команда INSERT…VALUES вставляет новые записи в существующую таблицу. Синтаксис команды:

INSERT INTO table_name VALUES (values,…)

После оператора VALUES в скобках через запятую перечисляются значения соответствующих полей таблицы в соответствии с их типами.

DELETE

DELETE FROM table_name [WHERE definition]

Команда DELETE удаляет из таблицы table_name записи, удовлетворяющие заданным в definition условиям, и возвращает число удаленных записей.

Вот как можно удалить все записи из таблицы authors:

mysql> DELETE FROM authors;

Важной частью запросов DELETE, UPDATE и SELECT является оператор WHERE, который позволяет задать условия для выбора записей, на которые будут действовать эти команды. Следующий запрос удаляет из таблицы посетителя, первичный ключ для которого равен 1:

mysql> DELETE FROM authors WHERE id_author = 1;

Условия отбора могут быть значительно сложнее, так в листинге 13.16 удаляются все авторы с паролем '123' и первичный ключ которых превышает 10:

mysql> DELETE FROM authors WHERE passw = '123' AND id_author > 10;

Оператор AND является логическим "и". В запросах можно так же применять логическое или "или".

SELECT

Команда SELECT предназначена для извлечения строк данных из одной или нескольких таблиц и имеет в общем случае следующий синтаксис:

SELECT column,...

[FROM table WHERE definition]

[ORDER BY col_name [ASC | DESC], ...]

[LIMIT [offset], rows]

Здесь column - имя выбираемого столбца. Можно указать несколько столбцов через запятую. Если необходимо выбрать все столбцы можно просто указать знак звёздочки *. Ключевое слово FROM указывает таблицу table из которой извлекаются записи. Ключевое слово WHERE определяет, так же как и в операторе DELETE определяет условия отбора строк. Ключевое слово ORDER BY сортирует строки запросов по столбцу col_name в прямом (ASC) или обратном порядке (DESC). Ключевое слово LIMIT сообщает MySQL об выводе только rows запросов начиная с позиции offset.

Для того чтобы посмотреть всю таблицу User_inf выполняется следующий запрос:

mysql> SELECT * FROM User_inf;

Для подключения к php базы данных используются стандартные функцию php, как mysql_connect(), одновременно можно подключиться как к одной, так и к нескольким базам, в данном проекте реализуется работа с одной базой данных:

<?php

@mysql_connect("localhost","php","123456");

$sel=mysql_select_db("tec");

$sql="INSERT INTO User_inf(f_name,l_name,data_r,pol,mail) VALUES('".$sname."','".$name."','".$bdate."','".$pol."','".$mail."')";

$res=mysql_query($sql);

$sql="select id_user from User_inf";

$res=mysql_query($sql);

$n=mysql_num_rows($res);

$row=mysql_fetch_($res);

echo $row[$n];

Страницы: 1, 2, 3, 4, 5



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.