Главная | Обратная связь
МегаЛекции

Примеры использования PHP совместно с MySQL





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

В этом примере показано как в 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);

?>

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

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

Сохранение данных в базе данных 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_identifierID соединения, которое получено в функции 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>";

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

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

echo "</CENTER>";

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

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

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

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

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





Рекомендуемые страницы:

Воспользуйтесь поиском по сайту:
©2015- 2019 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.