пʼятниця, 11 березня 2011 р.

Підключення до MySQL бази за допомогою PHP

В попередній статті PHP, ми за допомогою утиліти phpMyAdmin, створили базу, таблицю та створили перший запис.
Синтаксис мови програмування PHP, схожий з іншими мовами програмування (Java, C++, JavaScript...), тобто після кожного рядка (дії), ставиться крапка з комою, всі цикли і методи оточуються фігурними дужками.
Однак, для того, щоб сервер Apache зрозумів з якого моменту починається, і де закінчується програма PHP. Використовують позначки "<?" та "?>". Між цими двома позначками пишеться програма, однак деякі налаштування сервера передбачають, щоб починалася не з "<?", а з "<?php". Змінні (переменные) в мові PHP починаються зі знаку $ (долара).
Для створення локального сайту потрібно створити каталог з назвою сайту в директорії WebServer/home/. Потім, в створеному каталозі, створити каталог з назвою "www". Приклад зображений на скріншоті:

Після створення каталогів потрібно перезавантажити Apache (Денвер, запустити Restart.exe). Після вдалого перезавантаження, створіть в каталозі "www" файл "index.php", та відкрийте його, за допомогою текстового редактора (Блокнот, AkelPad, NotePad...), я раджу використовувати редактори з нумерацією рядків.
Спочатку, позначаємо що далі йде PHP програма ("<?php" та "?>"), між позначками пишемо:
$conn = mysql_connect("localhost", "tor", "123") or die(mysql_error());
mysql_select_db("exa");
Перша строчка означає - підключення до MySql сервера; localhost - ім’я сервера (для Денвера у всіх випадках така назва, а на хостингу вам дадуть свою назву); tor, 123 - логін і пароль, який створили для бази; or die(mysql_error()) - означає якщо не підключиться то виведе помилку.
Друга строчка означає, що для подальших дій обирається база під назвою "exa".
Далі нам потрібно взяти дані з бази (продовжуємо писати в PHP дужках):
$sql = "SELECT * FROM massage";
$q = mysql_query($sql) or die(mysql_error());
Перша строчка формує запит до серверу (на мові SQL). Друга строчка відправляє змінну-запит на сервер, якщо не може відправити - пише помилку.
Наступною дією є - виведення на сторінку взятих даних з бази. Наприклад, виведемо дані в вигляді таблиці.
echo '<table>';
while ($row = mysql_fetch_assoc($q)) {
         echo '<tr>
         <td>'.$row["id"].'</td>
         <td>'.$row["text"].'</td>
         <td>'.$row["user"].'</td>
         </tr>';

}
echo '</table>';
Цей код є синтезом мови PHP та HTML. PHP перетворює взяті дані в масив (mysql_fetch_assoc($q)), та повторюючи для кожного запису, виводить дані в вигляді рядків таблиці. HTML виконує роль розміщення даних у вигляді таблиці.
Спочатку засобами PHP виводиться тег таблиці він неповторюється. Далі, повторюється для кожного знайденого запису, виведення тегів, та вставляння в них даних, за допомогою змінних.
Після циклу таблиця закривається виведенням тегу.
Загальний код файлу має вигляд:
<?

$conn = mysql_connect("localhost", "tor", "123") or die(mysql_error());
mysql_select_db("exa");

$sql = "SELECT * FROM massage";
$q = mysql_query($sql) or die(mysql_error());

echo '<table>';
while ($row = mysql_fetch_assoc($q)) {
         echo '<tr>
         <td>'.$row["id"].'</td>
         <td>'.$row["text"].'</td>
         <td>'.$row["user"].'</td>
         </tr>';

}
echo '</table>';
?>

четвер, 10 березня 2011 р.

Створення бази за допомогою phpMyAdmin

При створенні сайту, спершу потрібно створити базу даних.
Я використовую пакет програм Денвер, тому буду описувати роботу саме на ньому.
Для створення нового користувача та бази потрібно запустити веб сервер (якщо ви цього ще не зробили), потрібно зайти в каталог WebServer->Denwer, та запустіть файл Run.exe (створити віртуальний том та запустити сервер). Ці дії можливо здійснювати тільки під правами адміністратора. Якщо все пройшло вірно, після введенні в браузер адреси http://localhost/, повинно з’явитися наступне:
Якщо не з’явилося, потрібно перезавантажити сервер (Restart.exe), або шукати програми, які можуть конфліктувати з 80 портом (наприклад Skype), та вимикати або переналаштовувати їх. Також якщо в Вас доступ до мережі інтернет через проксі, добавте localhost і всі хости, які ви створюєте, в виклювчення (исключения).
Якщо ви все ж таки побачили цю сторінку, прокрутивши нижче в підзаголовку "Утилиты", ви можете знайти пункт "Заведение новых БД и пользователей MySQL", натиснувши на цьому пункті, ви побачите наступне:

На цій сторінці потрібно заповнити форму. Перший пунк залишається порожнім, другий - ім’я бази даних, третій - логін користувача бази, щоб потім підключатися до неї, четвертий і п’ятий - пароль користувача. Далі натискається "Создать БД и пользователя".
Для данної статті я обрав наступне (для прикладу): назва БД - "exa", логін - "tor", пароль - "123".
Після вдалого створення бази, повертаємось до попередньої сторінки http://localhost/denwer/, та в томуж підзаголовку обираємо "phpMyAdmin - администрирование СУБД MySQL", після цього повинна з’явитися сторінка phpMyAdmin.

Вибираємо створену базу даних (моя обведена червоним колом). Поки що, замість списку таблиць бази, буде написано "No tables found in database.". В іншій половині вікна знаходиться форма створення нової таблиці. В полі "Name" вписується назва таблиці, а в полі "Number of fields" - кількість полів. Для зручності створюється перше поле "id" (номер попорядку), це буде ключове поле, яке нумерує записи в таблиці (не повинно повторюватись, і на нього треба орієнтуватися, коли робиш дії з записами).

Для прикладу створимо таблицю відправлених повідомлень. Таблиця має поля: id (номер попорядку), text (текст повідомлення), user (ім’я користувача). Тобто всього полів 3.
Вводимо в формі створення таблиці Ім’я - "massage", кількість полів - 3, та натискаємо на кнопку "Go".
Після цього з’являється сторінка заповнення параметрів полів:

Перше поле - Field: id, Index: Primary (первичный ключ). Друге поле - Field: text, Type: text, Colletion: cp1251_general_ci(кодування Windows-1251). Третє поле - Field: user, Type: text, Colletion: cp1251_general_ci. Після введення всіх параметрів натискаєм "Save".
За допомогою цієї утиліти також можна заповняти таблицю, для цього в верхньому меню натисніть на "Insert". Після цього з’явиться форма для заповнення полів таблиці.

Можна заповнити її, як зображено на малюнку, та натиснути "Go".

середа, 19 січня 2011 р.

Перші кроки в PHP

Мова PHP була створена, для автоматичної генерації сторінок на мові HTML. На кожному сайті є елементи, які повторюються, як на одній сторінці, так і на кожній. Для зручності зміни та введення інформації на сайт використовуються бази даних, та мова PHP, щоб формувати сторінки сайту з інформації, яка міститься в базі даних.
Якщо створювати сайт по старим технологіям, тільки на HTML, то при введенні нової статті, чи розділу(категорії) на сайт, потрібно було б заходити на кожну сторінку сайту (де повинні міститися про неї дані), та змінювати вміст файлу.
Я стикнувся з цим, коли обслуговував сайт бібліотеки. Коли потрібно було ввести нову категорію фільтрації книг, мені б довелося створювати нову сторінку, та переписувати вручну всі книги цієї категорії. Також було незручно додавати книгу, яка відноситься до декількох категорій одночасно (відкривати файл сторінки кожної категорії, та змінювати її відповідними даними).
Також незручність виникає в тому, що кожний файл має інформацію, яка повторюється, від цього сайт займає більше місця, ніж коли він створений на основі бази даних (тому що в базі, дані зберігаються одноразово).
Коли я перевів сайт на мову PHP, на сторінці записувався тільки критерій та шаблон сторінки, а вся інша інформація бралася з бази даних. Для заповнення бази даних створюється спеціальна сторінка (адміністрування). При використанні бази, інформація просто в неї вводиться разом з допоміжними критеріями фільтрації.
Приклад: файл на мові HTML займає 80 кб, а на PHP 3 кб.



вівторок, 18 січня 2011 р.

Web програмування на мові PHP

PHP (англ. PHP:Hypertext Preprocessor — PHP:гіпертекстовий препроцесор), попередня назва: Personal Home Page Tools — скриптова мова програмування, була створена для генерації HTML-сторінок на стороні веб-сервера. PHP є однією з найпоширеніших мов, що використовуються у сфері веб-розробок (разом із Java, .NET, Perl, Python, Ruby). PHP підтримується переважною більшістю хостинг-провайдерів. Вікіпедія
Для програмування на мові PHP потрібно:
Сервер Apache;
База даних MySql;
Компілятор PHP.
Раніше це все встановлювали окремо. А тепер можна завантажувати, вже готову збірку цих елементів, яка при встановленні автоматично налаштовується.
Для Windows - Denwer, для Linux - LAMP.
Для початку роботи потрібно завантажити з сайту (http://www.denwer.ru/) програму, та встановити її.
При встановленні з’явиться вікно CMD, та будуть робитися пропозиції змінити параметри, якщо невпевнені в вашому виборі, можете натискати клавішу Enter (параметр введеться по замовчуванню). Якщо потрібно додаткова інформація по встановленню вона є на сайті.
Денвер, для подальшого управління сервером розмістить ярлики на Робочому столі. Перший для запуску сервера, другий - для зупинки, третій - перезапуску. Ще повинен з’явитися віртуальний том, який указує на місце розташування каталогів серверу.
В каталозі серверу містяться каталоги:
Denwer (каталог програми Денвер):
  • boot.exe - створення віртуального тому
  • run.exe - запуск серверу Apache
  • stop.exe - зупинка серверу
  • restart.exe - перезавантаження серверу (при кожній зміні налаштувань, сервер потрібно перезавантажувати)
  • SwitchOff.exe - вимкнення програми Денвер (демонтування тому та зупинка сервера)
Tmp (каталог тимчасових файлів - статистики звертань до серверу)
Usr (каталог з користувацькими налаштуваннями PHP та Apache, там також містяться бази MySql)
Home (каталог в якому містяться хости - каталоги створених сайтів)
Для того щоб створити свій віртуальний сайт, потрібно створити каталог з іменем майбутнього сайту, та в ньому каталог з іменем "www". В каталог "www" потрібно розміщувати всі файли сайту.
Після створення каталогів, потрібно перезавантажити сервер. При цьому Денвер зробить всі налаштування, що раніше потрібно було робити вручну, автоматично.
Програма Денвер не має файлу видалення, та є портативною (якщо на кожному ПК, перед використанням, запускати файл Run.exe). Щоб видалити програму потрібно запустити файл SwitchOff.exe (вимкнення програми Денвер), а потім видалити всі файли програми (каталог WebServer по замовчуванню)
P. S. На сайті Денвера написано, якщо ви хочете налаштувати сайт не локально, а щоб його бачили інші користувачі мережі, каталог з іменем сайту потрібно назвати вашою ІР адресою (якою йде з’єднання з мережею). При цьому звертання до вашого сайту здійснюється або по вашій ІР адресі, або по мережевій назві ПК. Також сайт попереджає про небезпечність такого способу налаштування, для додаткового захисту потрібно ставити FireWall-и і т.д.

субота, 8 січня 2011 р.

Параметри (атрибути) тегів

Всі теги мають параметри, які можуть вказувати на: ідентифікацію цього тегу, вигляд та його властивості. Параметри тегу пишуться через пробіл в відкривальному тезі. Значення параметрів пишуться в лапках.
Всі теги мають параметр-ідентифікатор id, який ідентифікує тег. Ідентифікатор не може повторюватися на сторінці. Вказує на тег при звертанні через скрипти, чи вказуванні стилю. Значення ідентифікатора може складатися як з літер так і чисел. Наприклад <img src="1.jpg" id="pic12">.
Також всі теги можуть мати параметр класу class. Параметр класу може мати декілька значень, написаних через пробіл. Використовується, для задання стилю, за допомогою CSS.
Для зображення коментарю елемента використовуються параметри title та alt. Alt використовується в тезі зображення, а в інших тегах використовується параметр title.
Деякі інші параметри тегів, вже не використовуються, тому що ці повноваження на себе забрав CSS. Цими параметрами є width (ширина), height (висота), border (товщина стінок), color (колір тексту), align (розташування по краю), z-index (розташування елемента по вісі z, тобто на передній план, чи на задній план відносно інших елементів сторінки).