Додати пермінну з php до html
Змінну потрібно оголосити у шаблоні (це відбувається). HTML частина нормально встає, а PHP фігово. Підкажіть, як засунути php і HTML код в одну змінну або щоб php код не подівся куди?
@Dmitriy_1 Щоб відформатувати код, виділіть його мишею і натисніть кнопку <> редактора.
що саме означає "фігово встає пхп"? яке розширення файлу в якому знаходиться код?
@Dmitriy_1, Постарайтеся писати більш розгорнуті питання. Поясніть, у чому ви бачите проблему, як її відтворити тощо. буд. @Dmitriy_1, Будь ласка, оформлюйте питання згідно з правилами спільноти, інакше вони будуть видалятися.
1 відповідь 1
Якщо я правильно зрозумів, що PHP код буде в html файлі. Щоб потім сервер міг обробляти цей код, треба додати в .htaccess рядок:
AddType application/x-httpd-php .php .htm .html
Тільки все одно це не допоможе. Сервер цю сторінку віддасть клієнту, а клієнт її не виконає, навіть якщо в нього встановлено сервер.
Як підключити PHP до HTML?
PHP - це серверна мова програмування, що вбудовується. Більшість його синтаксису запозичена з C, Java і Perl. А також додана пара унікальних характерних лише для PHP функцій. Основна мета цієї мови - створення динамічно генерованих PHP HTML сторінок.
Оновлено: 2021-10-12 15:16:51 Вадим Дворніков автор матеріалу
PHP у HTML
Під час створення складних веб-сторінок ви зіткнетеся з необхідністю об'єднати PHP та HTML для реалізації конкретних завдань. На перший погляд це може здатися складним, оскільки PHP та HTML є двома незалежними дисциплінами, але це не так. PHP призначений для взаємодії з HTML і його код може бути включений в розмітку сторінки.
У HTML-сторінки PHP-код включається за допомогою спеціальних тегів. Коли користувач відкриває сторінку, сервер обробляє PHP-код, а потім відправляє результат обробки (не сам PHP-код) у браузер.
HTML та PHP досить просто об'єднати. Будь-яка частина PHP-скрипту поза тегами ігнорується PHP-компілятором і передається безпосередньо в браузер. Якщо подивитися на приклад, наведений нижче, можна побачити, що повний PHP-скрипт може виглядати наступним чином:
Наведений вище код - це звичайний HTML з невеликим фрагментом PHP, який виводить поточну дату, використовуючи вбудовану функцію date. При цьому весь HTML ігноруватиметься PHP-компілятором і передаватиметься у браузер без змін.
Інтегрувати PHP у HTML дійсно дуже легко. Пам'ятайте, що скрипт - це HTML-сторінка із включенням певного PHP коду. Можна створити скрипт, який міститиме лише HTML (без тегів), і він нормально працюватиме.
Більш просунуті методи:
PHP та HTML
PHP та HTML тісно взаємодіють: PHP може генерувати HTML, а HTML може передавати інформацію PHP. Перед читанням питань у цьому розділі важливо, щоб ви розуміли, як отримувати змінні ззовні PHP. Сторінки посібника з цієї теми містять багато прикладів. Звертайте особливу увагу на те, що register_globals значить вам.
Яке кодування/декодування я повинен виконувати під час передачі значення через форму/URL?
- Інтерпретація HTML. Для того, щоб задати довільний рядок, ви повинні укласти її в подвійні лапки і викликати htmlspecialchars() на все значення.
- URL: URL складається з кількох частин. Якщо ви хочете, щоб ваші дані були сприйняті як один елемент, ви повинні закодувати їх за допомогою urlencode().
Приклад #1 Прихований елемент HTML форми
Зауваження: Використовувати urlencode() для $data неправильно, оскільки кодувати дані в urlencode() це обов'язок браузера. Усі популярні браузери роблять це правильно. Зауважте, що це відбувається незалежно від методу (наприклад, GET або POST). Однак, ви помітите це тільки у випадку запиту GET, оскільки POST запити зазвичай приховані.
Приклад #2 Дані, що редагуються користувачем
Зауваження: Дані показуються браузером як передбачається, тому що браузер інтерпретуватиме екрановані HTML символи. При надсиланні через GET або POST дані будуть закодовані (urlencoded) браузером для передачі та розкодовані (urldecoded) PHP. Тому вам не потрібно виконувати будь-яке url-кодування/розкодування самим, все виконується автоматично.
Приклад #3 В URL
Зауваження: Насправді ви є HTML GET запитом, тому необхідно вручну закодувати ( urlencode() ) дані.
Зауваження: Вам потрібно застосувати htmlspecialchars() на повну URL, тому що URL з'являється як значення HTML атрибута. У цьому випадку браузер спочатку розкодує все значення (де - htmlspecialchars() ) і потім URL. PHP зрозуміє URL правильно, тому що ви закодували дані з urlencode(). Ви помітите, що & в URL замінюється на &. Хоча більшість браузерів це виправляють, якщо ви забудете про це, але все ж таки це не завжди можливо. Тому, навіть якщо ваш URL не динамічний, вам треба закодувати його за допомогою htmlspecialchars() .
Я намагаюся використовувати , але змінні $foo.x та $foo.y недоступні. $_GET['foo.x'] також немає. Де вони?
При надсиланні форми, замість стандартної кнопки відправки можна використовувати зображення з тегом як:
Коли користувач клацає десь на картинці, серверу буде надіслана супутня форма з двома додатковими змінними: foo.x і foo.y.
Так як імена foo.x і foo.y нелегальні в PHP, вони автоматично перетворюються на foo_x і foo_y . Тобто точки замінюються на підкреслення. Ви звертаєтеся до цих змінних так само, як і до будь-яких інших, описаних у розділі про отримання змінних ззовні PHP. Наприклад, $_GET['foo_x'] .
Зауваження:
Пробіли в іменах змінних запиту перетворюються на підкреслення.
Як створити масиви в HTML?
Для того, щоб результати були передані вашому PHP скрипту як масив, іменуйте елементи , або наступним чином:
Зауважте квадратні дужки після імені змінної, це робить її масивом. Ви можете згрупувати елементи в масив, присвоюючи одне й те саме ім'я різним елементам:
Це створить два масиви, MyArray та MyOtherArray, які будуть передані PHP скрипту. Також можна задати певні ключі для ваших масивів:
Зауваження:
Визначати ключі масивів HTML необов'язково. Якщо ви не встановлюєте ключі, масив заповнюється в порядку появи елементів у формі. Наш перший приклад буде містити ключі 0, 1, 2 та 3.
Як отримати всі результати з HTML тега select із опцією multiple?
HTML тег select з multiple дозволяє користувачеві вибрати кілька елементів зі списку. Ці елементи потім передаються обробнику форми. Проблема в тому, що всі вони передані з одним і тим же ім'ям. Наприклад:
var=option1 var=option2 var=option3
Кожна опція затиратиме вміст попередньої змінної $var . Рішення - скористатися можливістю PHP "масив із елемента форми". Повинне бути поставлене таке:
Це вкаже PHP звертатися з $var як з масивом і кожне присвоювання значення для var[] додасть елемент масив. Перший елемент стає $var[0], наступний $var[1] і т.д. Функція count() може бути використана для визначення, скільки елементів було вибрано та функція sort() може бути використана для сортування масиву опцій, якщо необхідно.
Зауважте, що якщо ви використовуєте JavaScript, то [] в імені елемента може викликати проблеми, якщо ви намагаєтеся звертатися до елемента на ім'я. Замість цього використовуйте числовий ID елемента форми або введіть ім'я змінної в одиночні лапки і використовуйте як індекс масиву елементів, наприклад:
variable = document.forms[0].elements['var[]'];
Як я можу передати змінну з JavaScript до PHP?
Оскільки JavaScript є (зазвичай) клієнтською технологією, а PHP є (зазвичай) серверною технологією, і оскільки HTML - протокол "без стану", ці дві мови не можуть розділяти змінні безпосередньо.
Однак, можна передавати змінні між ними. Один із способів досягти цього - згенерувати JavaScript код з PHP і змусити браузер оновитися, надсилаючи певні змінні назад PHP скрипту. Нижченаведений приклад показує як це зробити - він дозволяє PHP коду отримати висоту та ширину екрану, що, зазвичай, можливо тільки на стороні клієнта.
Приклад #4 Генерування Javascript з PHP
if (isset( $_GET [ 'width' ]) AND isset( $_GET [ 'height' ])) // виводимо змінні з розмірами
echo "Ширина екрану:". $_GET ['width']. "
\n" ;
echo "Висота екрана: " . $_GET ['height']. "
\n" ;
> else // передаємо змінні з розмірами
// (Зберігаємо оригінальний рядок запиту
// -- post змінні потрібно буде передавати іншим способом)