PHP: відмінності між версіями

Вилучено вміст Додано вміст
JTs (обговорення | внесок)
Немає опису редагування
JTs (обговорення | внесок)
Немає опису редагування
Рядок 11:
# [[Файл:00%.png]] [[PHP/Масиви|Масиви]]
# [[Файл:00%.png]] [[PHP/Функції|Функції]]
# [[Файл:00%.png]] [[PHP/Форми|HTLM-форми і cookies]]
# [[Файл:00%.png]] [[PHP/Класи і об'єкти|Класи і об'єкти]]
# [[Файл:00%.png]] [[PHP/Помилки|Помилки]]
Рядок 24:
* [[Файл:75%.png]] - залишились дрібниці (вичитка, вичистка, оформлення) (75%),
* [[Файл:100%.svg]] - роботу завершено (100%).
 
<!--
 
== Поля форм ==
Дані GET запиту зберігаються у змінній <code>$_GET</code>, а POST - у <code>$_POST</code>. Змінна <code>$_REQUEST</code> зберігає дані <code>$_GET</code>, <code>$_POST</code> і <code>$_COOKIE</code>.
 
== Cookie ==
Записати кукі на 3600 секунд:
<source lang="php">
setcookie("user", "Alex Porter", time() + 3600);
</source>
 
Прочитати кукі:
 
<source lang="php">
echo $_COOKIE["user"];
</source>
 
== Функції ==
Функції в PHP пишуться так як і в більшості мов, за допомогою ключового слова <code>function</code>:
 
<source lang="php">
function bold($text) {
return "<b>$text</b>";
};
function print($text) {
echo $text;
};
</source>
 
== Файли ==
 
Файли часто використовуються як для збереження певних тимчасових даних (замовлення покупця тощо) так і цілої бази даних. Хоча для другого випадку краще використовувати систему управління базами даних MySQL, яка спрощує роботу з великою кількістю даних, але коли такої можливості немає, то використовують файли. Неможливість використання MySQL зачасту постає, коли за кожну базу даних потрібно платити додаткові гроші або ж MySQL взагалі не встановлена. Робота з файлами відбувається практично ідентично як у мові програмування С.
 
Щоб записати деякі дані в файл, необхідно виконати наступні три дії:
# Відкрити файл. Якщо файл не існує, то він може створюватись, або ж виконуватись інші передбачені для цього дії.
# Записати дані в файл.
# Закрити файл.
 
Аналогічно, щоб прочитати дані з файлу:
# Відкрити файл. Якщо файл неможливо відкрити, то потрібно передбачити дії для цієї ситуації.
# Прочитати дані з файлу.
# Закрити файл.
 
Для відкриття файлу можна використати функцію fopen().
Приклад:
<source lang="php">$fp=fopen ("myfile.txt", 'w');</source>
 
Перший параметр – це шлях до файлу. Другий режим читання файлу. Він вказується для того, щоб сервер знав, які права надати програмі. Чи лише читання, без права редагувати, чи запису, чи редагування тощо.
 
{| class="wikitable" width=80%
|+ Режими відкриття файлу
!Режим|| Значення
|-
| r || Режим читання. Відкриває файл для читання, починаючи з початку файлу.
|-
| r+ || Режим читання. Відкривай файл для читання і запису, починаючи з початку файлу
|-
| w || Режим запису. Відкривай файл для запису, починаючи з початку файлу. Якщо файл існує, його вміст видаляється. Якщо файл не існує намагається його створити.
|-
| w+ || Режим запису. Відкриває файл для запису, починаючи з початку файлу. Якщо файл вже існує, його вміст видаляється. Якщо файл не існує пробує його створити.
|-
| x || Режим обережного запису. Відкриває файл для запису, починаючи з початку файлу. Якщо файл вже існує, він не відкривається, fopen() повертає значення false, а PHP генерує попередження.
|-
| x+ || Режим обережного запису. Відкриває файл для запису і читання, починаючи з початку файлу. Якщо файл вже існує, він не відкривається, fopen () повертає значення false, a PHP генерує попередження
|-
| a || Режим дописування. Відкриває файл тільки для дописування (запису) і читання, починаючи з кінця існуючого вмісту, якщо такий є. Якщо файлу не існує, спробує його створити.
|-
| a+ || Режим допису. Відкриває файл для допису (запису) і читання, починаючи з кінця існуючого змісту, якщо такий є. Якщо файл не існує, пробує його створити.
|-
| b || Модифікатор, який вказує на роботу (читання і запис) з двійковим файлом; актуальний лише для Windows і в основному використовується вкупі із іншим режимом
|-
| t || Текстовий режим. Використовується разом з одним із інших режимів. Актуальний лише для Windows. Не рекомендується для використання і використовується лише в деяких випадках.
|}
 
 
Прочитати рядки з файлу можна так:
<source lang="php">
$file_handle = fopen("names.txt", "r"); // відкриваємо файл names.txt на читання
while (!feof($file_handle)) { // поки файл не закінчився
$line = fgets($file_handle); // читаємо рядочок
if($line) { // щось там з ним робимо
echo "<li>$line</li>";
};
};
</source>
 
далі буде.
 
== Модульність ==
Можна підставити текст одного php-файлу в інший, командою:
 
<source lang="php">
include 'header.php'; // підставляємо файл header.php
</source>
 
Переважно сторінки веб-сайту мають певні частини, які не змінюються при навігації. Наприклад, заголовок сторінки ("шапку", header), низ сторінки та спільне меню. Щоб не писати на кожній сторінці один і той же код, зручніше його помістити в окремому файлі і на кожній веб-сторінці підключати цей код. Крім того, в разі необхідності введенні змін у ці частини веб-сторінок, непотрібно буде вводити зміни на кожній веб-сторінці, достатньо лише відредагувати відповідний файл, наприклад header.php, якщо необхідно змінити верх сторінок.
 
== PHP та MySQL ==
PHP працює з MySQL з коробочки (встановлюється без особливих труднощів і зразу ж можна працювати без додаткових засобів). Це зручно. Під’єднується ця вся штука в php скрипті наступним чином:
 
<source lang="php">
mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die("Не зміг приєднатись до бази");
</source>
 
localhost — мережева адреса, в даному випадку це локальний комп'ютер, проте це може бути і IP-адреса (наприклад, 127.0.0.1 - та ж локальна IP адреса, або будь-яка інша), і доменне ім'я (www.mytestbase.ua).
 
$username, $password — змінні, які говорять самі за себе (тобто, ім'я користувача бази даних та його пароль).
 
$database — ім'я бази даних, яка вже повинна існувати в СУБД MySQL.
 
Запити пишуться на мові [[SQL]]. Запит поміщають у змінну у вигляді рядка, наприклад:
<source lang="php">
$query="insert into customers values (Null, 'Маклуха Маклай', 'просп. Бажана')";
</source>
Наведений у подвійних лапках запит на [[SQL]] означає — вставити рядок з трьома полями даних у таблицю customers. Звичайно, щоб усе працювало, відповідна таблиця із стовпцями повинна вже існувати в базі даних.
 
Далі запит надсилається базі даних так:
<source lang="php">
mysql_query($query) or die(mysql_error());
</source>
 
Конструкція з оператором <code>or</code> - це зручний і короткий запис наступного:
<source lang="php">
if(mysql_query($query)) {
// ok
} else {
die(mysql_error());
};
</source>
 
Просто завдяки оптимізації булевих виразів, якщо вираз зліва від <code>or</code> має істинне значення, весь вираз вважається істинним, і права частина не обчислюється.
 
Вищенаведеним чином можна робити практично усе дозволене з базою даних: створювати таблиці, стовпчики, редагувати поля, одержувати інформацію. Щоправда деякі дії, як то створення початкової структури бази даних зручніше робити у спеціальних засобах. Часто на web-серверах встановлюють спеціальний програмний засіб [[w:phpMyAdmin|phpMyAdmin]], що надає зручний графічний веб-інтерфейс для роботи з MySQL (створення, перегляд, редагування баз даних та ін). phpMyAdmin корисний при розробці баз даних та тестуванні запитів. Крім того існують програми для встановлення на локальних комп'ютерах, які теж надають таку ж можливість і дозволяються під'єднатися до бази даних з вашого локального комп'ютера як то MySQL Workbench(наявні безкоштовна та платна версії).
-->
 
== Посилання ==