.: PHP и MySQL на примере
Mixailo
PHP, обзорная статья о котором есть на нашем сервере, умеет не только рассылать сообщения о том, что яблоки распространяются бесплатно. На самом деле это довольно мощная вещь, позволяющая создавать крупные коммерческие системы, в том числе и корпоративные информационные системы (естественно, вкупе с MySQL). Все это рано или поздно будет казаться довольно легким, но сейчас, как я полагаю, вы ограничились написанием скрипта-примера, который у вас не работает, потому что путь к sendmail (которого на Windows-платформах нет) указан неверно. Мне всегда казалось, что разобранный текст скрипта помогает всегда лучше, чем просто хелп...
Как вы знаете, с помощью великого и ужасного .htaccess можно настроить в качестве интерпретируемых как PHP файлов файлы с расширениями
.php, .php3, .php4, .phtml (естественно, можно настроить и файлы
.prikol, просто эти - наиболее часто используемые). Если желаете, можно даже считать таковыми файлы
.html, достаточно просто прописать в .htaccess следующее:
Я крайне не рекомендую этого делать, советую называть файлы PHP так, чтобы расширением было
.php. Эта рекомендация связана с тем, что файл
.php явно является скриптом, в отличие от html, который запросто может и не содержать скриптовых включений (а нагрузка на сервер остается). По этой же причине я не советую и настраивать
.html файлы на исполнение Includes (SSI), но тут уж выбор за вами. В крайнем случае в файл
.shtml можно добавить PHP-включение стандартной директивой
<!--#include virtual="privet.php" -->
Ни коем случае не пытайтесь назначать файлы одного расширения сразу и на интерпретацию
PHP, и SSI! Это приведет к непредсказуемым последствиям.
Как вы уже догадались, подключение к MySQL производится двумя командами: сначала соединяемся с сервером
MySQL, потом выбираем используемую базу данных, вот так:
Переменные, отвечающие за пароль, логин и прочее, лучше задавать отдельно. Собака перед командой означает то, что сообщения об ошибках этой команды не выводятся. Не забудьте потом закрыть соединение с
MySQL!
mysql_close();
Вот так. Теперь самое интересное. Как выясняется, вы можете довольно просто манипулировать содержимым базы данных с помощью команды
mysql_query. Например, мы создаем простую формочку с полями
name, email и password:
После этого мы должны создать файл
database.php, обрабатывающий эти данные. Нетрудно догадаться, что в нем мы будем иметь готовые переменные
name, email, password, drop, del, которые и предстоит обработать. Обработка будет заключаться в том, что если галочка
"Del" не установлена, то значение в БД добавляется, иначе - удаляются все такие значения (должны полностью соответствовать все три основных поля).
Это обычный выбор базы данных, интереса не представляет. Как известно, при попытке создать в БД таблицу, которая уже существует, сервер выдает ошибку. Поэтому можно довольно легко проверить таблицу на существование, и, если ее нет, создать ее:
Теперь проверяем, отмечена ли галочка del
if (empty($del))
И если она пуста, то добавляем значения в таблицу
Иначе пытаемся удалить значения, точно соответствующие шаблону:
Проверяем, написал ли пользователь в поле drop слово
"drop", если да - удаляем из БД всю таблицу:
В принципе, теперь осталось только закрыть соединение и написать закрывающий тег ?>, но мы ведь хотим посмотреть, что у нас получилось? Делаем так:
Вот и все, простая программа манипуляции базой данных готова. Замечу, что восклицательный знак перед функцией означает логическое НЕ, т.е.
!empty($line) означает "НЕ (пустая ли переменная
$line?)", и будет иметь значение ИСТИНА (TRUE), если $line непустая. Функция
extract(аргумент) выделяет из выдачи MySQL, которую мы не можем просто так распечатать, переменные, соответствующие названиям полей в таблице; в нашем случае это
$name, $email, $password - так и называются поля в таблице
clients.
Источник: http://webhowto.ru/
|