Система подачи заявка php mysql

Система подачи заявка php mysql

Чтобы начать пользоваться базой данных MySQL, надо в первую очередь понять, как подключиться из вашей пользовательской PHP-программы (скрипта) к этой самой базе данных MySQL.

В этой статье описаны следующие три метода, а также соответствующие примеры PHP-кода, в которых объясняется, как подключиться к вашей базе данных из PHP.

Для всех приведенных ниже примеров мы будем подключаться к уже существующей базе данных MySQL. Примечание: все, что объясняется здесь, также будет работать с MariaDB, так же как и с MySQL.

1. Подключение к PHP с помощью расширения mysqli
* mysqli означает MySQL Improved

Создайте следующий файл mysqli.php

В приведенном выше коде:

    mysqli — эта функция инициирует новое соединение с использованием расширения mysqli. Функция принимает четыре аргумента:

  1. localhost имя хоста, на котором запущена база данных MySQL
  2. name — имя пользователя MySQL для подключения
  3. pass — пароль для пользователя mysql
  4. db — база данных MySQL для подключения.

  • qvery — функция запроса MySQL. В этом примере мы выбираем столбец id из базы данных городов.
  • Наконец, мы показываем количество строк, выбранных с использованием переменной num_rows в результате. Мы также закрываем как результат, так и переменную соединения, как показано выше.
  • Когда вы вызываете вышеуказанный mysqli.php из своего браузера, вы увидите следующий вывод, который указывает, что PHP смог подключиться к базе данных MySQL и получить данные.

    2. Подключение из PHP MySQL PDO Extension
    * PDO означает объекты данных PHP

    Драйвер PDO_MYSQL реализует интерфейс PDO, предоставляемый PHP, для подключения из вашего PHP-скрипта к базе данных MySQL.

    Создайте следующий файл mysql-pdo.php:

    В приведенном выше:

      new PDO — создаст новый объект PDO, который примет следующие три аргумента:

    1. mysql connect string: он будет в формате «mysql:host=localhost;dbname=db». В приведенном выше примере db работает на localhost, и мы подключаемся к базе данных db.
    2. Имя пользователя MySQL для подключения
    3. Пароль для пользователя mysql

  • переменная $sql — создать запрос sql, который вы хотите выполнить. В этом примере мы выбираем столбец id из таблицы городов.
  • query ($sql). Здесь мы выполняем запрос sql, который мы только что создали.
  • foreach. Здесь мы перебираем результат из указанной выше команды запроса и сохраняем ее в переменной $row, а затем выводим ее с помощью echo.
  • В MySQL PDO, чтобы закрыть соединение, просто установите переменную $conn в значение null.
  • Когда вы вызываете вышеуказанный скрипт mysqli.php из своего браузера, вы увидите следующие строки; они означают, что PHP смог подключиться к базе данных MySQL и получить информацию:

    3. Подключение из PHP c использование устаревших функций mysql

    Используйте этот метод, только если вы используете более старую версию PHP и по какой-то причине не можете обновить ее до новой версии. Рекомендуется использовать метод №2 и метод №3, показанные выше, вместо этого метода. Я включил этот метод только для справки, а не как рекомендацию для использования.

    Это конкретное расширение было устарело от версии PHP 5.5. Но, начиная с версии PHP 7.0, это даже не будет работать, поскольку оно было удалено. Начиная с версии PHP 5.5, когда вы используете эти функции, она будет генерировать ошибку E_DEPRECATED.

    Именно поэтому кстати, хотя я и рекомендую своим заказчикам в новых проектах использовать последние версии PHP, для старых советую переходить с осторожностью. Обратная совместимость увы, не всегда работает.

    Создайте файл mysql.php:

    В приведенном выше:

      Функция mysql_connect принимает три аргумента:

    1. имя хоста, в котором запущена база данных MySQL;
    2. имя пользователя MySQL для подключения;
    3. пароль для пользователя mysql. Здесь он подключается к базе данных MySQL, которая выполняется на локальном сервере с использованием имени пользователя и его пароля.
    Читайте также:  Программа для закачки фото

  • Функция mysql_select_db. Как следует из названия, она выбирает базу данных, к которой вы хотите подключиться. Эквивалентно команде «use». В этом примере мы подключаемся к базе данных db.
  • Функция mysql_query — используется для указания вашего запроса MySQL. В этом примере мы выбираем столбец id из базы данных городов. mysql_fetch_row. Используйте эту функцию для извлечения строк из SQL-запроса, который мы только что создали.
  • Наконец, закройте соединение, используя команду mysql_close, как показано выше.
  • Когда вы вызываете вышеуказанный mysql-legacy.php из своего браузера, вы увидите следующий вывод, который указывает, что PHP смог подключиться к базе данных MySQL и получить информацию:

    Вот таким образом можно подключаться к MySQL. Повторюсь, лучше использовать два первых способа; о безопасности я уже писал в одном из своих материалов. Если вам требуется консультация, то пишите мне на электронную почту, скайп или вконтакте — я буду рад помочь вам за небольшое денежное вознаграждение.


    Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

    статьи IT, основы mysql, подключение mysql, mysqli, pdo

    Рассмотрим на примере, как создать форму, с помощью которой мы будем делать запросы в базу данных mysql на языке php.

    1. Создадим разметку html-формы

    Форма отправляется методом POST и обрабатывается на текущей странице.

    2. Создадим таблицу, в которую будем записывать данные

    Можно выполнить через SQL в PhpMyAdmin или ручками.

    3. Подключимся к базе данных и напишем запрос для записи.

    Подключимся к базе данных.

    Кодировку установили, чтобы избежать лишних проблем (не обязательно).

    Не забудьте заранее создать таблицу в базе данных с трёмя значениями (id, name, text), подробнее об этом читать здесь.

    Далее напишем наш запрос для записи в базу данных и запишем его в переменную.

    Создадим небольшую проверку, чтобы знать, выполнился ли наш запрос или нет.

    4. Подключение формы к запросу

    Форму создали, к базе подключились и написали запрос, теперь нужно связать всё это.

    Форма отправляется методом POST, поэтому мы можем сделать проверку на него, а именно на любое поле формы.

    У нас передаются поля с именами "name" и "text", на них мы и сделаем проверку.

    Вставим весь наш скрипт в эту проверку:

    То есть, если существует значения "name" и "text" переданные методом POST, то выполняется подключение к БД и запись в таблицу.

    Для создания перспективного, расширяемого и эффективного сайта любой сложности следует начинать с простого. Это процесс нелёгкий, требует определённых базовых знаний PHP и MySQL, но если его рассмотреть по пунктам — то можно составить своего рода «рабочий план», который пригодится при создании новых сайтов. Подготовим «ядро» и базу для проекта. Вначале это будет обычный сайт визитка, но потом, добавляя функционал, его можна превратить во что угодно. Итак, приступим.

    1. Подготовка базы данных. Создаём первую таблицу в БД MySQL

    Создаём новую базу данных, например «mysite». Лично я привык работать с кодировкой UTF-8, по-этому сразу оговорюсь: проследите, чтобы все текстовые файлы сайта, сама база, таблицы и поля таблиц были в одной кодировке.
    В новой базе делаем таблицу. Назовём её «pages». В этой таблице будут храниться статические страницы будущего сайта и информация о них. Таблица должна содержать следующие поля:

    • page_id — идентификатор страницы (SMALLINT, primary key, auto_increment);
    • page_alias — псевдоним страницы для строки адреса ЧПУ (VARCHAR, 255);
    • page_title — название страницы в окне браузера (VARCHAR, 255);
    • page_meta_d — мета описание страницы для тега meta description (VARCHAR, 255);
    • page_meta_k — мета ключевые слова для тега meta keywords (VARCHAR, 255);
    • page_h1 — заголовок страницы (VARCHAR, 255);
    • page_s_desc — краткое описание материала, например если материалы сайта будут в виде блога (TEXT);
    • page_content — основной текст страницы, который будет выводиться в центральную колонку сайта (TEXT);
    • page_publish — содержит «Y» — если страница опубликована, или «N» — если она скрыта (CHAR, по умолчанию «Y»).
    Читайте также:  Музыкальные центры 90 х годов фото

    Сразу после создания таблицы вставляем в неё значения для главной страницы сайта. В поле «page_alias» для главной страницы предлагаю вставить значение «home». Метатеги — соответственно тематике всего сайта. Таким же образом можно посоздавать другие страницы, например «О компании» с алиасом «about» и своими метатегами, или «Контакты» с алиасом «contacts» и т.д.

    2. Создаём файл конфигурации сайта

    В корневой папке сайта, которая должна быть пуста на данном этапе, создаём папочку «cfg», в ней с помощью .htaccess закрываем доступ директивой «deny from all». Создаём файл core.php следующего содержания:

    link = mysql_connect($this->dbhost, $this->dblogin, $this->dbpass);
    mysql_select_db($this->db);
    mysql_query(‘SET NAMES utf8’);
    >

    function close() <
    mysql_close($this->link);
    >

    function run($query) <
    $this->query = $query;
    $this->result = mysql_query($this->query, $this->link);
    $this->err = mysql_error();
    >
    function row() <
    $this->data = mysql_fetch_assoc($this->result);
    >
    function fetch() <
    while ($this->data = mysql_fetch_assoc($this->result)) <
    $this->fetch = $this->data;
    return $this->fetch;
    >
    >
    function stop() <
    unset($this->data);
    unset($this->result);
    unset($this->fetch);
    unset($this->err);
    unset($this->query);
    >
    >

    Этот файл пока содержит только простой класс подключения к базе данных, но в дальнейшем в него можно добавлять разные полезные функции, которые будут доступны из любого места в коде сайта. Не забудьте изменить логин и пароль к Вашей базе.

    Если Вы работаете в среде Windows, я могу порекоммендовать использовать редактор Notepad++. В этом редакторе есть нумерация строк, и он легко переводит текст из одной кодировки в другую. ВНИМАНИЕ! Если Вы работаете в кодировке UTF-8 — конвертируйте файлы в UTF-8 without BOM — это поможет избежать проблем в будущем.

    3. Создаём index.php — главный контроллер сайта

    Файл конфигурации создан. Теперь в корневой папке сайта создаём index.php — это и будет основной скрипт сайта, своего рода «главный контроллер». Содержание файла index.php:

    // ГЛАВНЫЙ КОНТРОЛЛЕР
    switch ($_GET[option]) <
    case "page":
    include($_SERVER[DOCUMENT_ROOT]."/com/page.php");
    break;
    default:
    include($_SERVER[DOCUMENT_ROOT]."/com/home.php");
    break;
    >

    include ($_SERVER[DOCUMENT_ROOT]."/template.php");
    $db->close();

    Переменная $_GET[option] будет указывать главному контроллеру какой компонент сайта загружать при запросе. Сейчас в нашем сайте предусмотрено только два компонента: «страница» и «главная страница» (в принципе можно обойтись и одним компонентом вывода обычной страницы, но часто вид главной страницы сайта отличается от обычных страниц пунктов меню). Логика работы главного контроллера такова: из URL строки извлекается название нужного компонента (значение переменной $option), в зависимости от его значения подключается файл самого компонента (содержится в папке /com). Файл компонента выполняет все необходимые работы, извлекает из базы данные и записывает их в переменные, для передачи в шаблон дизайна. В самом конце подключается файл дизайна сайта, в который и передаются все переменные и данные, извлечённые в компонентах. Это звучит намного сложнее, чем работает.

    Читайте также:  Обновление windows 7 до sp3 x64

    4. Создаём компонент вывода обычной страницы

    В корне сайта создаём папочку «com» — в ней будут храниться файлы компонентов. Компонент сайта, в моём понимании — это файл, в котором происходит обработка данных для разных разделов сайта. Например компонент обычной страницы извлекает из базы данных название, описание и текст материала, и записывает их в переменные $title, $meta_d, $meta_k, $content и др. Эти данные потом передаются в шаблон дизайна (под каждый компонент можно создавать свой шаблон дизайна) и выводятся пользователю в виде HTML-страницы. Например, компонент каталога, который можно создать в будущем, выполнял бы почти то же самое, но с данными про товары — а там своя специфика, другие поля в таблице, итд. По-этому для каждого функционального раздела сайта стоит создавать отдельный компонент. В схеме MVC (Model-View-Controller) компонент выполняет роль модели.

    Создаём в папке «com» файл «page.php». Содержимое файла следущее:

    run($query);
    $db->row();
    // ПЕРЕМЕННЫЕ КОМПОНЕНТА
    $id = $db->data[page_id];
    $alias = $db->data[page_alias];
    $title = $db->data[page_title];
    $h1 = $db->data[page_h1];
    $meta_d = $db->data[page_meta_d];
    $meta_k = $db->data[page_meta_k];
    $s_desc = $db->data[page_s_desc];
    $component = $db->data[page_content];
    // ЕСЛИ СТРАНИЦЫ НЕ СУЩЕСТВУЕТ
    if (!$id) <
    header("HTTP/1.1 404 Not Found");
    $component = "ОШИБКА 404! Данной страницы не существует";
    >
    $db->stop();

    5. Создаём компонент вывода главной страницы

    Главная страница у нас в базе данных хранится под псевдонимом «home», и пока по своей структуре не отличается от обычных страниц сайта — это просто статья. Тем не менее создадим для неё отдельный компонент — на перспективу, так сказать.

    Содержимое компонента «home.php» в папке «com» почти совпадает с содержимым компонента обычной страницы, за исключением строки запроса к базе и названия компонента. Строка запроса теперь выглядит так:

    $query = "SELECT * FROM wx_pages WHERE page_alias=’home’ LIMIT 1";

    6. Создаём шаблон дизайна всего сайта

    В корне сайта создаём файл template.php. По сути это обычный макет web-дизайна в формате HTML+CSS, только с PHP переменными в нужных местах. Между тегами title вставочка , в центральной колонке сайта вставочка и так по всему шаблону расставляем нужные переменные, которые объявлены в компонентах.

    В корневой папке также должны быть папки «css» и «images» для элементов дизайна. В файле /css/style.css — можно настроить стили по своему усмотрению.

    7. Чистые ссылки и файл .htaccess

    Для создания чистых ссылок я использую mod_rewrite с прямыми указаниями правил для каждого компонента отдельно, так как разбор адресной строки средствами самого контроллера считаю излишним функционалом. Содержимое .htaccess на данном этапе такое:

    RewriteEngine On
    RewriteBase /

    # ЗАПРЕЩЁННЫЕ ФАЙЛЫ
    RewriteRule .htaccess — [F]
    RewriteRule template.php — [F]

    # ПРАВИЛА mod_rewrite
    RewriteRule page/([a-z0-9_-]+)([/]<0,1>).htm$ index.php?option=page&alias=$1 [L]

    В будущем мы будем дописывать правила для компонентов поиска, каталога, блога статей и т.д. Смысл один: преобразовать ссылки вида «mysite.com/index.php?option=pages&alias=about» в ссылку вида «mysite.com/pages/about.htm» — смотрится довольно красиво. Старайтесь в разработке избегать массива $_GET в целях безопасности и не надеяться на него. Целесообразно хранить в нём только параметры для главного контроллера (переменная $option) и для компонента (переменная $alias).

    Также в каждой папке сайта «на всякий случай» создайте пустой файл index.html — это нужно для того, чтобы при обращении к каталогу через адресную строку ничего не отображалось.

    Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

    Ссылка на основную публикацию
    Adblock detector