Этапы создания веб-приложения. Основы РНР и MySQL
Основные технологии веб-программирования. Методы отправки данных на сервер с помощью HTML-формы. PHP - Препроцессор Гипертекста. Сохранение данных в базе данных MySQL. Клиент-Сервер и технология CGI. Примеры использования PHP совместно с MySQL.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 27.04.2009 |
Размер файла | 2,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
По словам создателей именно эти пункты дали возможность достичь высокого быстродействия. Их реализация существенно снижает скорость сервера. Эти возможности не являются критичными при создании web-приложений, что в сочетании с высоким быстродействием и малой ценой позволило серверу приобрести большую популярность.
3.2. Примеры использования PHP совместно с MySQL
3.2.1. Работа с формами
В этом примере показано как в PHP легко обрабатывать данные с HTML - форм.
Создадим HTML файл request.html.
Листинг request.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. Приведем его содержание:
Листинг 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
Теперь мы должны сдержать обещание и выслать email.
Для этого в PHP есть функция MAIL.
Синтаксис функция MAIL:
void mail(string to, string subject, string message, string add_headers);
to - email адрес получателя.
subject - тема письма.
message - собственно текст сообщения.
add_headers - другие параметры заголовка письма (необязательный параметр).
Допишем в конец файла email.php следующий код:
Листинг добавочного кода для 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);
?>
Вот теперь пользователь будет получать письмо с более подробной информацией о наших товарах. Также письмо получит и администратор сайта.
Когда интересующихся нашими товарами станет очень много, мы захотим их как-то упорядочить и хранить информацию о них в базе данных. Об этом в следующем примере.
3.2.2. Сохранение данных в базе данных MySQL
Для начала создаем базу данных products и таблицу clients.
Чтобы создать в системе базу данных, нужно войти в систему MySQL и ввести в командной строке MySQL: mysql> create database products;
База данных создана:
После этого следует набрать: mysql>use products;
Следующий этап настройки базы данных -- создание таблиц. Это делается при помощи SQL-команды CREATE TABLE:
CREATE TABLE clients
(
name VARCHAR(25),
email VARCHAR(25),
choise VARCHAR(8)
);
Таблицы базы данных созданы:
Можно просмотреть перечень таблиц созданной базы данных c помощью оператора SHOW.
Можно отобразить информацию о столбцах всех таблиц c помощью оператора DESCRIBE.
Для просмотра данных, сохраненных в каждой таблице, можно применить оператор SELEKT.
Все этапы создания базы данных с таблицами отражены на экране командной строки:
Для общения с MySQL из PHP понадобятся следующие функции:
1. Создать соединение с MySQL.
int mysql_connect(string hostname, string username, string password);
Параметры функции:
Hostname - имя хоста, на котором находится база данных.
Username - имя пользователя.
Password - пароль пользователя.
Функция возвращает параметр типа int, который больше 0, если соединение прошло успешно, и равен 0 в противном случае.
2. Выбрать базу данных для работы.
int mysql_select_db(string database_name, int link_identifier);
Параметры функции:
Database_name - имя базы данных.
link_identifier - ID соединения, которое получено в функции mysql_connect. (параметр необязательный, если он не указывается, то используется ID от последнего вызова mysql_connect)
Функция возвращает значение true или false
3. Функция выполняет запрос к базе данных.
int mysql_query(string query, int link_identifier);
Параметры функции:
Query - строка, содержащая запрос
link_identifier - см. предыдущую функцию.
Функция возвращает ID результата или 0, если произошла ошибка.
4. Функция закрывает соединение с MySQL.
int mysql_close(int link_identifier);
Параметры функции:
link_identifier - см. выше.
Функция возвращает значение true или false
Теперь файл email.php будет иметь следующий вид:
Листинг email_1.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();
?>
Вот так можно работать с базой данных в PHP. Теперь кроме письменных уведомлений, информация о клиенте и его интересах будет заноситься в таблицу MySQL.
3.2.3. Получение (извлечение) данных из базы данных MySQL
После занесения данных, нас иногда будет интересовать вопрос: так кого же из наших клиентов интересует товар “Яблоки”
Напишем скрипт apple.php.
Листинг 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>";
}
?>
Вот и все, продукт практически готов.
Размещено на Allbest.ru
Подобные документы
Функции, позволяющие работать с базой данных MySQL средствами РНР. Соединение с сервером и его разрыв. Создание и выбор базы данных. Доступ к отдельному полю записи. Комплексное использование информационных функций. Запросы, отправляемые серверу MySQL.
лекция [3,5 M], добавлен 27.04.2009Создание HTML-форм. Ввод многострочного текста. Тег FORM - контейнер форм. Трансляция переменных окружения. Передача данных с помощью формы. Приложения, хранящие данные о регистрации пользователей в базе данных MySQL. Порядок трансляции переменных.
лекция [5,6 M], добавлен 27.04.2009PHP как язык программирования. MySQL – компактный многопоточный сервер баз данных. Серверное программное обеспечение. Разработка агоритма, программы, блок-схемы и их использование. Автоматизированная система централизованной обработки журналов событий.
отчет по практике [25,2 K], добавлен 12.07.2010Отличительные особенности языков программирования PHP и CSS. Возможности компактного многопоточного сервера баз данных MySQL. Системный анализ предметной области, проектирование ее инфологической модели. Создание базы данных и web-страниц сайта магазина.
курсовая работа [1,0 M], добавлен 15.01.2013Характеристика и технические возможности СУБД MySQL. Трехуровневая структура MySQL. Требования к аппаратному обеспечению. Создание таблицы, триггеров, генераторов, хранимых процедур в MySQL. Разработка приложения для базы данных с помощью Borland Delphi.
курсовая работа [940,7 K], добавлен 20.12.2011Система управления базами данных (СУБД) MySQL. Установка, настройка и запуск MySQL. Окончательная настройка нового MySQL сервера. Основные утилиты и журнальные файлы. Работа с виртуальными хостами. Синтаксис для создания таблиц и управление данными.
реферат [3,5 M], добавлен 24.06.2019Этапы создания сайта с использованием СУБД – MySQL. Подключение блоков, наполнение текстовым содержанием путём ручного ввода данных в базу данных mysql. Создание администраторского раздела (админки), наполнение содержимым через администраторский раздел.
курсовая работа [4,5 M], добавлен 15.11.2012Общая характеристика СУБД MySQL, клиент-серверная технология. Отличительные черты физической организации хранения и обработки данных, имеющимся в СУБД MySQL. Средства администрирования и спектр программных интерфейсов. Характер связи между таблицами.
презентация [73,2 K], добавлен 28.05.2019Производственная функция и ее свойства и экономическое содержание. Краткая история PHP - языка программирования, используемого на стороне WEB-сервера для динамической генерации HTML-страниц. Возможности и примеры использования MySQL (сервера баз данных).
курсовая работа [572,4 K], добавлен 15.05.2015Общая характеристика системы управления базами данных MySQL, ее основные особенности и возможности, касающиеся обеспечения целостности данных. Реализация ограничений семантической и ссылочной целостности в СУБД MySQL на примере фрагмента ИС "Салон магии".
курсовая работа [981,0 K], добавлен 14.10.2012