Язык Web-программирования - PHP

Автор работы: Пользователь скрыл имя, 13 Февраля 2011 в 19:36, реферат

Краткое описание

Цель исследования – Изучить и посмотреть примеры выполнения скриптов PHP
Объект исследования – Язык PHP, Базы данных MySQL.
Предмет исследования – функциональное значение и актуальность языка.

Содержание работы

ВВЕДЕНИЕ………………………………………………………………………………….…...3
Глава 1. Вступление в PHP и MySQL………………………..……………..…….………….5
1.1. Что такое PHP?.………………………………………………………………………5
1.2. Возможности PHP…………………………………………………………………….5
1.3. Краткая история PHP……….…...…………………….……………………...…......6
1.4. Почему нужно выбирать PHP………………………………………………………7
1.5. Что такое MySQL……………………………………………………………………..7
1.6. Возможности MySQL…………………………………………………………………8
Глава 2. Примеры использования PHP……………………………………………………...9
2.1. Работа с формами……………………………………………………………………..9
2.2. Работа с MySQL (сохранение данных в базе данных)...…………………………11
2.3. Работа с MySQL (получение данных из базы данных).…………………………13
ЗАКЛЮЧЕНИЕ………………………………………………………………………..……….15
БИБЛИОГРАФИЧЕСКИЙ СПИСОК …………………………………………………...…16
ПРИЛОЖЕНИЯ………………………………………………………………………………...17

Содержимое работы - 1 файл

НПК.doc

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

1.4. Почему нужно выбирать  PHP

     Разработчикам Web-приложений нет необходимости говорить, что web-страницы - это не только текст и картинки. Достойный внимания сайт должен поддерживать некоторый уровень интерактивности с пользователем : поиск информации, продажа продуктов, конференции и т.п. Традиционно все это реализовалось CGI-скриптами, написанными на Perl. Но CGI- скрипты очень плохо масштабируемы. Каждый новый вызов CGI, требует от ядра порождения нового процесса, а это занимает процессорное время и тратит оперативную память. PHP предлагает другой вариант – он работает как часть Web-сервера, и этим самым похож на ASP от Microsoft.

     Синтаксис PHP очень похож на синтаксис C или Perl. Люди, знакомые с программированием, очень быстро смогут начать писать программы на PHP. В этом языке нет  строгой типизации данных и нет необходимости в действиях по выделению/освобождению памяти.

Программы, написанные на PHP, достаточно легкочитаемы. Написанный PHP – код легко зрительно  прочитать и понять, в отличие  от Perl-программ.

   Недостатки PHP

  • PHP является интерпретируемым языком, и, вследствие этого, не может сравниться по скорости с компилируемым С. Однако при написании небольших программ, что, в общем-то, присуще проектам на PHP, когда весь проект состоит из многих небольших страниц с кодом, вступают в силу накладные расходы на загрузку в память и вызов CGI-программы, написанной на С.
  • Не такая большая база готовых модулей, как, например, СPAN у Perl. С этим ничего нельзя поделать – это дело времени. В PHP 4 разработчики предусмотрели специальный репозиторий PEAR, аналогичный CPAN, и я думаю, очень скоро будет написано достаточное количество модулей для его наполнения.
 

1.5. Что такое MySQL

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

     MySQL был разработан компанией TcX для  внутренних нужд, которые заключались  в быстрой обработке очень  больших баз данных. Компания  утверждает, что использует MySQL с  1996 года на сервере с более  чем 40 БД, которые содержат 10,000 таблиц, из которых более чем 500 имеют более 7 миллионов строк.

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

     На  текущий момент MySQL все еще в  стадии разработки, хотя версии 3.22 полностью  работоспособны.

     MySQL-сервер  является бесплатным для некоммерческого  использования. Иначе необходимо  приобретение лицензии, стоимость  которой составляет 190 EUR. 

1.6. Возможности MySQL

     MySQL поддерживает язык запросов SQL в  стандарте ANSI 92, и кроме этого  имеет множество расширений к этому стандарту, которых нет ни в одной другой СУБД.

Краткий перечень возможностей MySQL.

  • Поддерживается неограниченное количество пользователей, одновременно работающих с базой данных.
  • Количество строк в таблицах может достигать 50 млн.
  • Быстрое выполнение команд. Возможно MySQL самый быстрый сервер из существующих.
  • Простая и эффективная система безопасности.

    MySQL действительно  очень быстрый сервер, но для  достижения этого разработчикам  пришлось пожертвовать некоторыми  требованиями к реляционным СУБД.

    В MySQL отсутствуют:

  • Поддержка вложенных запросов, типа SELECT * FROM table1 WHERE id IN (SELECT id FROM table2).
  • Не реализована поддержка транзакций. Взамен предлагается использовать LOCK/UNLOCK TABLE.
  • Нет поддержки триггеров и хранимых процедур.

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

     Глава 2. Примеры использования PHP

2.1. Работа с формами

     В этом примере показано как в PHP легко  обрабатывать данные с HTML – форм.

Создадим  простой HTML файл. 

 
 <HTML>

 <HEAD>

 <TITLE>Запрос информации</TITLE>

 <BODY>

 <CENTER>

 Хотите  больше знать о наших товарах?

 <P>

 <TABLE WIDTH = 400><TR><TD align = right>

 <FORM ACTION="email.php" METHOD="POST">

 Ваше имя:<BR> <INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30">

 <P>

 Ваш email:<BR> <INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30">

 <P>

 Меня интересуют:

 <SELECT NAME="preference">

 <OPTION value = "Яблоки">Яблоки

 <OPTION value = "Апельсины">Апельсины

 </SELECT>

 <P>

 <INPUT TYPE="submit" VALUE="Отправить запрос!">

 </FORM>

 </TD></TR></TABLE></CENTER>

 </BODY>

 </HTML>

 

Назовем этот файл request.html. В нем мы указали, что данные формы будут обрабатываться файлом email.php. Приведем его содержание: 

 
    <?

    /* Этот скрипт получает переменные  из request.html */

    PRINT "<CENTER>";

    PRINT "Привет, ".$_POST['name'];

    PRINT "<BR><BR>";

    PRINT "Спасибо за ваш интерес.<BR><BR>";

    PRINT "Вас интересуют ".$_POST['preference'].",

        информацию о них мы пошлем вам на email: ".$_POST['email']; PRINT "</CENTER>";

    ?>

 

     Теперь, если пользователь вызовет request.html и  наберет в форме имя “Вася”, email: vasya@pupkin.com и скажет, что его интересуют “Яблоки”, а после этого нажмет "Отправить запрос!", то в ответ вызовется email.php, который выведет на экран примерно следующее:

     
 
Привет, Вася

Спасибо за ваш интерес.

Вас интересуют Яблоки. Информацию о них  мы пошлем вам на email: vasya@pupkin.com

 

(Приложения 2, 3) 

     Теперь  мы должны сдержать обещание и выслать email.

Для этого  в PHP есть функция MAIL.

Синтаксис: void mail(string to, string subject, string message, string add_headers);

to –  email адрес получателя. subject – тема письма. message – собственно текст сообщения.

add_headers – другие параметры заголовка  письма (необязательный параметр).

Допишем в конец файла email.php следующий  код: 

 
    <?php

    $subj = "Запрос на информацию";

    $text = "Уважаемый ".$_POST['name']."!

    Спасибо за ваш интерес!

    Вас интересуют ".$_POST['preference']."

    Мы  их распространяем бесплатно.

    Обратитесь  в ближайший филиал нашей компании и получите ящик этого продукта.";

    mail($_POST['email'], $subj, $text);  

    $subj = "Поступил запрос на информацию";

    $text = $_POST['name']." интересовали ".$_POST['preference']." email-адрес: ".$_POST['email'];

    mail($adminaddress, $subj, $text);

    ?>

 

     Вот теперь пользователь будет получать письмо с более подробной информацией  о наших товарах. Также письмо получит и администратор сайта. (Приложение 4)

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

2.2. Работа с MySQL (сохранение данных в базе данных)

     Для начала создаем базу данных и таблицу. Входим в phpMyAdmin (phpMyAdmin — веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL) (см. приложение 5), и выполняем команды:

>CREATE DATABASE products;

>CREATE TABLE clients (name VARCHAR(25), email VARCHAR(25), choise VARCHAR(8));

     Для общения с MySQL из PHP понадобятся следующие  функции.

int mysql_connect(string hostname, string username, string password);

     Создать соединение с MySQL. Параметры: Hostname – имя хоста, на котором находится база данных.Username – имя пользователя.Password – пароль пользователя.

Функция возвращает параметр типа int, который  больше 0, если соединение прошло успешно, и равен 0 в противном случае.

int mysql_select_db(string database_name, int link_identifier);

     Выбрать базу данных для работы. Параметры:Database_name – имя базы данных.link_identifier – ID соединения, которое получено в функции mysql_connect. (параметр необязательный, если он не указывается, то используется ID от последнего вызова mysql_connect) 

     Функция возвращает значение true или false

int mysql_query(string query, int link_identifier);

     Функция выполняет запрос к базе данных.Параметры:Query – строка, содержащая запросlink_identifier – см. предыдущую функцию.

     Функция возвращает ID результата или 0, если произошла  ошибка.

int mysql_close(int link_identifier);

     Функция закрывает соединение с MySQL.

Параметры:

link_identifier – см. выше.

     Функция возвращает значение true или false

Теперь  наш файл email.php будет иметь след. вид:

 
    <?

    /* Этот скрипт получает переменные  из request.html */  

    /* Переменные для соединения с  базой данных */

    $hostname = "localhost";

    $username = "myusername";

    $password = "mypassword";

    $dbName = "products";  

    /* Таблица MySQL, в которой хранятся  данные */

    $userstable = "clients";  

    /* email администратора */

    $adminaddress = "administration@me.com";  

    /* создать соединение */

    mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");

    /* выбрать базу данных. Если произойдет  ошибка - вывести ее */

    mysql_select_db($dbName) or die(mysql_error());  

    echo "<CENTER>";

    echo "Привет, ".$_POST['name'];

    echo "<BR><BR>";

    echo "Спасибо за ваш интерес.<BR><BR>";

    echo "Вас интересуют ".$_POST['preference'].". Информацию о них мы пошлем вам на email: ".$_POST['email'];

    echo "</CENTER>";  

    /* Отправляем email-ы */

    $subj = "Запрос на информацию";

    $text = "Уважаемый ".$_POST['name']."!

    Спасибо за ваш интерес!

    Вас интересуют ".$_POST['preference']."

    Мы  их распространяем бесплатно.

    Обратитесь  в ближайший филиал нашей компании и получите ящик этого продукта.";

    mail($_POST['email'], $subj, $text);  

    $subj="Поступил запрос на информацию";

    $text = $_POST['name']." интересовали ".$_POST['preference']." email-адрес: ".$_POST['email'];

    mail($adminaddress, $subj, $text);  

    /* составить запрос для вставки  информации о клиенте в таблицу  */

    $query = "INSERT INTO $userstable VALUES('$name','$email', '$preference')";

    /* Выполнить запрос. Если произойдет ошибка - вывести ее. */

    mysql_query($query) or die(mysql_error());

    echo "Информация о вас занесена в базу данных.";  

    /* Закрыть соединение */

    mysql_close();

    ?>

 

(Приложение 6)

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

2.3. Работа с MySQL (получение данных из базы данных)

     После занесения данных, нас иногда будет  интересовать вопрос так кого же из наших клиентов интересует товар  “Яблоки” (не путать с Apple Macintosh, по поводу Apple Macintosh см. www.stealthcomp.com).

     Напишем скрипт apple.php 
 
 
 
 

 
    <?

    /* Скрипт показывает клиентов, которые  яблоки любят больше чем апельсины  */  

    /* Переменные для соединения с  базой данных */

    $hostname = "localhost";

    $username = "myusername";

    $password = "mypassword";

    $dbName = "products";  

    /* Таблица MySQL, в которой хранятся  данные */

    $userstable = "clients";  

    /* создать соединение */

    mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");

    /* выбрать базу данных. Если произойдет  ошибка - вывести ее */

    mysql_select_db($dbName) or die(mysql_error());  

    /* составить запрос, который выберет  всех клиентов - яблочников */

    $query = "SELECT * FROM $userstable WHERE choise = 'Яблоки'";

    /* Выполнить запрос. Если произойдет  ошибка - вывести ее. */

    $res = mysql_query($query) or die(mysql_error());  

    /* Как много нашлось таких */

    $number = mysql_num_rows($res);  

    /* Напечатать всех в красивом  виде*/

    if ($number == 0) {

      echo "<CENTER><P>Любителей яблок нет</CENTER>";

    } else {

      echo "<CENTER><P>Количество любителей яблок: $number<BR><BR>";

      /* Получать по одной строке из таблицы в массив $row, пока строки не кончатся */

      while ($row=mysql_fetch_array($res)) {

        echo "Клиент ".$row['name']." любит Яблоки.<BR>";

        echo "Его Email: ".$row['email'];

        echo "<BR><BR>";

      }

      echo "</CENTER>";

    }

    ?>

Информация о работе Язык Web-программирования - PHP