Автор работы: Пользователь скрыл имя, 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.4. Почему нужно выбирать PHP
Разработчикам Web-приложений нет необходимости говорить, что web-страницы - это не только текст и картинки. Достойный внимания сайт должен поддерживать некоторый уровень интерактивности с пользователем : поиск информации, продажа продуктов, конференции и т.п. Традиционно все это реализовалось CGI-скриптами, написанными на Perl. Но CGI- скрипты очень плохо масштабируемы. Каждый новый вызов CGI, требует от ядра порождения нового процесса, а это занимает процессорное время и тратит оперативную память. PHP предлагает другой вариант – он работает как часть Web-сервера, и этим самым похож на ASP от Microsoft.
Синтаксис PHP очень похож на синтаксис C или Perl. Люди, знакомые с программированием, очень быстро смогут начать писать программы на PHP. В этом языке нет строгой типизации данных и нет необходимости в действиях по выделению/освобождению памяти.
Программы, написанные на PHP, достаточно легкочитаемы. Написанный PHP – код легко зрительно прочитать и понять, в отличие от Perl-программ.
Недостатки PHP
1.5. Что такое MySQL
MySQL
– компактный многопоточный
MySQL был разработан компанией TcX для внутренних нужд, которые заключались в быстрой обработке очень больших баз данных. Компания утверждает, что использует MySQL с 1996 года на сервере с более чем 40 БД, которые содержат 10,000 таблиц, из которых более чем 500 имеют более 7 миллионов строк.
MySQL
является идеальным решением
для малых и средних
На текущий момент MySQL все еще в стадии разработки, хотя версии 3.22 полностью работоспособны.
MySQL-сервер
является бесплатным для
1.6. Возможности MySQL
MySQL поддерживает язык запросов SQL в стандарте ANSI 92, и кроме этого имеет множество расширений к этому стандарту, которых нет ни в одной другой СУБД.
Краткий перечень возможностей MySQL.
MySQL действительно
очень быстрый сервер, но для
достижения этого
В MySQL отсутствуют:
По словам
создателей именно эти пункты дали
возможность достичь высокого быстродействия.
Их реализация существенно снижает скорость
сервера. Эти возможности не являются
критичными при создании 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. Приведем его содержание:
/*
Этот скрипт получает 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 следующий
код:
$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 будет иметь след. вид:
/*
Этот скрипт получает /* Переменные для соединения с базой данных */ $hostname = "localhost"; $username = "myusername"; $password = "mypassword"; $dbName = "products"; /* Таблица MySQL, в которой хранятся данные */ $userstable = "clients"; /* email администратора */ $adminaddress = "administration@me.com"; /* создать соединение */ mysql_connect($hostname,$ /* выбрать базу данных. Если произойдет ошибка - вывести ее */ 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,$ /* выбрать базу данных. Если произойдет ошибка - вывести ее */ 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>"; } ?> |