Приклади використання PHP та MySQL

Робота з формами. У цьому прикладі показано як у PHP легко обробляти дані з HTML - форм. Створимо простий HTML файл.

<HTML>

<HEAD>

<TITLE>Запит інформації</TITLE>

<BODY>

<CENTER>

Хочете більше знати про наші товари?

<P>

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

<FORM ACTION="email.php3" 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.php3. Приведемо його зміст:

<?

/* Цей скрипт одержує перемінні з request.html */

PRINT "<CENTER>";

PRINT "Привіт, $name.";

PRINT "<BR><BR>";

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

PRINT "Вас цікавлять $preference.

Інформацію про їх ми відішлем вам на email: $email.";

PRINT "</CENTER>";

?>

Тепер, якщо користувач викличе request.html та набере у формі ім'я “Вася”, email: Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script та скаже, що його цікавлять “Яблука”, а після цього натисне "Відправити запит!", те у відповідь викликається email.php3, що виведе на екран приблизно наступне:

Привіт, Вася

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

Вас цікавлять Яблука.

Інформацію про їх ми відішлем вам на email:

Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script

Тепер ми повинні дотримати обіцянку та вислати email. Для цього в PHP є функція MAIL. Синтаксис: void mail(string to, string subject, string message, string add_headers); to - email адреса одержувача. subject - тема листа. message - власне текст повідомлення. add_headers - інші параметри заголовка листа (необов'язковий параметр). Допишемо в кінець файлу email.php3 наступний код:

<?

mail($email, "Запит на інформацію", "$namen

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

Вас цікавлять $preferencen

Ми їх поширюємо безкоштовно. Звернетеся в

найближчу філію нашої компанії та одержите

шухляду цього продукту.n

");

mail(" Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script ",

"Був запит на інформацію.",

"$name цікавили $preferencen

email-адреса: $email. n");

?>

Ось тепер користувач буде одержувати листа з більш докладною інформацією про наші товари. Також лист одержить й адміністратор сайту. Коли тих, що цікавляться нашими товарами стане дуже багато, ми захочемо їх впорядкувати та зберігати інформацію про них у базі даних. Про це в наступному прикладі.

Робота з MySQL (збереження даних у базі даних). Для початку створюємо базу даних та таблицю. Входимо в MySQL, та виконуємо команди:

>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.php3 буде мати наступний. вигляд:

<?

/* Цей скрипт одержує змінні з request.html */

/* Деякі змінні */

$hostname = "localhost";

$username = "myusername";

$password = "mypassword";

$dbName = "products";

/* Таблиця MySQL, у якій зберігаються дані */

$userstable = "clients";

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

$adminaddress = " Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script ";

/* створити з'єднання */

MYSQL_CONNECT($hostname,$username,$password)

OR DIE("Не можу створити з'єднання ");

@mysql_select_db("$dbName")

or die("Не можу вибрати

базу даних ");

PRINT "<CENTER>";

PRINT "Привіт, $name.";

PRINT "<BR><BR>";

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

PRINT "Вас цікавлять $preference.

Інформацію ми

відішлем вам на email: $email.";

PRINT "</CENTER>";

/* Відправляємо email */

mail($email, "Запит на інформацію", "$namenn

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

Вас цікавлять $preferencen

Ми їх поширюємо безкоштовно.

Звернетеся в

найближчу філію нашої компанії

та одержите шухляду цього продукту.n

");

mail(" Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script ",

"Був запит на інформацію.",

"$name цікавили $preferencen

email-адреса: $email. n");

/* Вставити інформацію про клієнта в таблицю */

$query = "INSERT INTO $userstable VALUES

('$name','$email', '$preference')";

$result = MYSQL_QUERY($query);

PRINT "Інформація про вас занесена в базу даних.";

/* Закрити з'єднання */

MYSQL_CLOSE();

?>

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

Таким чином ми власне оглянули базові теоретичні та практичні принципи побудови системи, що працює з використанням технологій клієнт-серверної архітектури та бази даних.

 
< Пред   СОДЕРЖАНИЕ   Загрузить   След >