Главная → КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ → Первые шаги с PHP
Дата публикации: 28 сентября 2004
Публикатор: maskaev
Рубрика: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ Программирование →
Номер публикации: №1096362291
Первые шаги с РНР
Автор: Любомир Гайдамака, DMedia™ Ltd.
Вступление
Работа с базами данных
Передача данных из формы в базу данных
После установки и настройки РНР на вашей рабочей станции или сервере (см. "Как заставить работать PHP4.0.0, Apache и MySQL на вашей Windows95/98/2000/NT или Unix машине") давайте приступим к практическому изучению этого языка.
Вынужден сразу предупредить, что изучение РНР, как, впрочем, и любого другого языка программирования - это не экскурсия в Киевский зоопарк. Когда я начинал изучать этот язык, я специально установил на свой старенький Pentium-233 RedHat Linux 5.2 (который был связан сетью с более мощным рабочим компьютером с Windows) и после бился с Linux-сервером две недели, чтобы установить РНР, MySQL и заставить его показывать этот скрипт:
echo phpinfo(); ?>
Сколько было радости, когда в моем броузере появилось море разных табличек и куча полезной информации! Вот я и решил сделать сайт PHP.com.ua, чтобы помочь тем, кому трудно дается английский язык, тем, кто хочет выучить РНР или, наоборот, поделиться своим опытом и знаниями.
Работа с базами данных
Первое, что нужно для создания динамических страничек - база данных, где будет храниться вся информация. Хотите иметь возможность просматривать содержимое таблиц баз данных, делать выборки, добавлять или обновлять данные? Все это можно делать с помощью встроенных функций в РНР для работы с базами данных.
Для начала работы у нас должна быть установлена база PostgreSQL или MySQL. Я рекомендую последнюю, так как она работает под Unix и Windows, более стабильна, быстра и ошибкоустойчива. Еще раз сформулируем нашу задачу: освоить присоединение к серверу базы данных, создание и исполнение SQL запросов, а также работу с ошибками. Без знания этих действий мы вряд ли сможем без проблем управляться с базой данных.
Итак, приступим. Кстати, далее по тексту я буду использовать MySQL в виду изложенных выше причин (хотя с PostgreSQL все действия похожи, надо лишь поменять префикс mysql_ на pg_).
Создадим базу данных телефонных номеров сотрудников вашей фирмы для наших тестов:
shell>mysql -u root
mysql> create database basa;
Query OK, 1 row affected (0.00 sec)
mysql> use basa;
Database changed
mysql> CREATE TABLE phone (
-> id int(10) NOT NULL auto_increment,
-> name varchar(32) NOT NULL,
-> phone varchar(32) NOT NULL,
-> PRIMARY KEY (id)
-> );
Query OK, 0 rows affected (0.00 sec)
mysql>exit
Bye
Или используйте файл из архива (в конце статьи) basa.sql, поместите его в каталог MySQL и сделайте так:
shell>mysql -u root < basa.sql
А сейчас напишем скрипт view.phtml , который будет показывать данные из базы данных.
/* Замените нижеследующие переменные на свои */
$host = "localhost"; // MySQL server
$user_db = "root"; // MySQL пользователь
$pass_db = ""; // MySQL пароль
$dbase = "basa"; // MySQL база данных
$dtable = "phone"; // Таблица в базе данных
/* Соединение с сервером базы данных */
mysql_connect ("$host", "$user_db", "$pass_db");
/* Выбор базы данных */
mysql_select_db("$dbase");
/* Создание SQL запроса */
$sql = "SELECT * FROM $dtable";
/* Исполнение SQL запроса */
$result = mysql_query($sql);
/* Проверка количества вернувшихся строчек
в результате*/
$rows = mysql_num_rows($result);
/* Если нет результата или результат меньше 1,
то предупредить нас об этом или вывести результат*/
if ((!$rows) || ($rows < 1)) {
echo "Результатов НЕТ!!!";
} else {
echo '
while($row = mysql_fetch_array($result)) {
$id = $row["id"];
$name = $row["name"];
$phone = $row["phone"];
echo "
}
}
?>
При запуске этого скрипта мы получим страничку с текстом "Результатов НЕТ!!!", так как в базе данных эти самые данные отсутствуют. Что делать? Перейти к следующему разделу и научиться добавлять данные из форм!
Передача данных из формы в базу данных
Создадим одну страничку под названием forma.html с HTML формой и скрипт add.phtml, который будет обрабатывать данные из этой формы.
Страничка forma.html:
Скрипт add.phtml:
/* Замените нижеследующие переменные на свои */
$host = "localhost"; // MySQL server
$user_db = "root"; // MySQL пользователь
$pass_db = ""; // MySQL пароль
$dbase = "basa"; // MySQL база данных
$dtable = "phone"; // Таблица в базе данных
/* Соединение с сервером базы данных */
mysql_connect ("$host", "$user_db", "$pass_db");
/* Выбор базы данных */
mysql_select_db("$dbase");
/* В Н И М А Н И Е!!! Если Вы работаете под Windows,
то снимите комментарий из следующих строк */
// $name = $HTTP_GET_VARS["name"];
// $phone = $HTTP_GET_VARS["phone"];
// Основные действия скрипта
// Создание SQL запроса
$sql = "INSERT INTO $dtable (id,name,phone) ";
$sql .= "VALUES ('','$name','$phone')";
/* Исполнение SQL запроса */
$result = mysql_query($sql);
// Проверка исполнения операции
if(!$result) {
echo "
Ошибка!
n";echo mysql_errno().": ".mysql_error()."
";
} else {
print "";
echo "Запись $name - $phone создана!";
//echo phpinfo();
}
?>
Как видите, данные из формы (поля name и phone) РНР понимает как переменные. И эти переменные очень легко можно добавить в базу данных. Теперь при просмотре странички view.phtml Вы увидите то, что собственноручно внесли.
Данные можно обрабатывать скриптом, а также как часть URL. Например: http://localhost/add.phtml?name=SomeName&phone=268-3962 добавит в базу данных имя SomeName с телефоном 268-3962. Кстати, это вовсе не номер телефона моей девушки - можете не звонить!!!
Все файлы, о которых шла речь в этой статье вы можете взять здесь.
Опубликовано на Порталусе 28 сентября 2004 года
Новинки на Порталусе:
Сегодня в трендах top-5
Ваше мнение ?
Искали что-то другое? Поиск по Порталусу:
Добавить публикацию • Разместить рекламу • О Порталусе • Рейтинг • Каталог • Авторам • Поиск
Главный редактор: Смогоржевский B.B.
Порталус в VK