Примеры использования 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_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>"; e cho "Спасибо за ваш интерес.<BR><BR>"; echo " Вас интересуют ".$_POST['preference'].". Информацию о них мы пошлем вам на email: ".$_POST['email']; echo "</CENTER>"; /* Отправляем email- ы */ $subj = "Запрос на информацию"; $text = "Уважаемый ".$_POST['name']."! Спасибо за ваш интерес! Вас интересуют ".$_POST['preference']."
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|