Не работает php в html?

OpenServer
Если написать скрипт в файл.php все работает (html там тоже работает)
Если написать скрипт в файл.html хтмл код работает, а вот скрипт нет. Просто ничего не выводит, сами значки тоже не отображаются, значит пхп работает а вывода нет?
- Вопрос задан более трёх лет назад
- 5602 просмотра
1 комментарий
Простой 1 комментарий
Почему не работает php-код?
prinf(«Соединение не установлено», mysqli_connect_error());
exit();
> $mysqli->set_charset(‘utf8’);
$query = «INSERT INTO movies VALUES(null, ‘Безумный Макс’, ‘Описание фильма безумный Макс’, ‘2015’, Now())»;
$mysqli->query($query);
$mysqli->close();
?>?php>
Спасибо, сейчас настройки проверю
У вас в коде где-то ошибка или файл сохранен не как .php или веб-сервер неправильно настроен, чтобы работать с php.
Код покажите полностью и название файла.
Если в браузере весь код выше отображается как текст, значит: 1. Файл сохранен не как .php, а как .html 2. Или неверно веб-сервер настроен, без поддержки языка PHP.
Sign up or Log in to write an answer
- Интерактивные уроки и курсы программирования и создания сайтов (дистанционное обучение) помогут вам в игровой форме изучить основы языков программирования веб-разработки и веб-программирования с нуля. Обучение онлайн 24/7.
Общие ссылки
- Отзывы
- Политика конфидециальности
- Условия использования
- Блог
- Цена и оплата
- Курсы и скринкасты
- Сертификаты
- Партнерская программа
- Комьюнити
Наши курсы и скринкасты
- HTML/CSS Advanced
- Bootstrap 4
- Vue JS
- Linux, GIT and web-hosting
- HTML and CSS
- Modern Javascript
- Javascript/jQuery
- Codeigniter
- Все курсы и скринкасты
PHP и HTML
PHP и HTML тесно взаимодействуют: PHP может генерировать HTML, а HTML может передавать информацию PHP. Перед чтением вопросов в этом разделе важно чтобы вы понимали как получать переменные извне PHP. Страницы руководства по этой теме содержат много примеров.
- Какое кодирование/декодирование я должен выполнять при передаче значения через форму/URL?
- Я пытаюсь использовать , но переменные $foo.x и $foo.y недоступны. $_GET[‘foo.x’] тоже не существует. Где они?
- Как создать массивы в HTML ?
- Как получить все результаты из HTML-тега select с атрибутом multiple?
- Как я могу передать переменную из JavaScript в PHP?
Какое кодирование/декодирование я должен выполнять при передаче значения через форму/URL?
- Интерпретация HTML. Для того, чтобы задать произвольную строку, вы должны заключить её в двойные кавычки и использовать htmlspecialchars() для кодирования.
- URL: URL состоит из нескольких частей. Если вы хотите чтобы ваши данные были восприняты как один элемент, вы должны закодировать их с помощью urlencode() .
Пример #1 Скрытый элемент HTML-формы
echo ‘. htmlspecialchars ( $data ) . ‘» />’ . «\n» ;
?>?php
Замечание: Использовать urlencode() для $data неправильно, так как кодировать данные в urlencode() это обязанность браузера. Все популярные браузеры делают это правильно. Отметьте, что это происходит вне зависимости от метода (например, GET или POST). Вы заметите это только в случае GET-запроса, так как POST-запросы обычно скрыты.
Пример #2 Данные, редактируемые пользователем
echo «» ;
?>?php
Замечание: Данные показываются браузером как предполагается, потому что браузер будет интерпретировать экранированные 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-скрипту. Также возможно задать определённые ключи для ваших массивов:
Массив AnotherArray теперь будет содержать ключи 0, 1, email и phone.
Замечание:
Определять ключи массивов в 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, то [] в имени элемента могут вызвать проблемы, если вы пытаетесь обращаться к элементу по имени. Вместо этого используйте числовой идентификатор элемента формы или заключите имя переменной в одинарные кавычки и используйте его как индекс массива элементов, например:
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 переменные нужно будет передавать другим способом)
?php
User Contributed Notes
There are no user contributed notes for this page.
- ЧАВО
- Общая информация
- Списки рассылки
- Получение PHP
- Вопросы по базам данных
- Установка
- Проблемы сборки
- Использование PHP
- Хеширование паролей
- PHP и HTML
- PHP и COM
- Разные вопросы
Почему не работает PHP?

Всем доброго времени суток. На связи Алексей Гулынин. В этой статье я бы хотел рассказать, почему не работает PHP.
Как мы с вами раньше проверяли работоспособность html-страницы или javascript-кода? Мы просто создавали файл, называли его к примеру index.html, записывали туда html-теги и javascript-код. Затем открывали с помощью какого-нибудь браузера и смотрели, что в итоге получается. Можно подумать, что, если в файле index.html написать какой-нибудь код на PHP, то, при открытии, он тоже должен обрабатываться нормально. Но на самом деле такого не будет. К примеру давайте наберем следующий код и попробуем его открыть в браузере:
Почему не работает PHP? Как вы, наверное, догадались — для того, чтобы вставить php-код в html-страницу необходимо данный код заключить в конструкцию . Если мы откроем данную страницу, то ничего не увидим. Давайте теперь попробуем сохранить нашу страницу с расширением не html, а php (так на самом деле и должно быть, если мы хотим посмотреть результат выполнения php-кода). В некоторых браузерах опять откроется пустая страница, а в некоторых — нам предложат сохранить данную страницу на компьютер. Так почему не работает PHP?
Всё дело в том, что HTML, JavaScript, CSS обрабатываются браузером , а PHP обрабатывается не браузером, а интерпретатором PHP . Для того, чтобы видеть результат выполнения php-кода можно пойти либо сложным путем (путем самурая, как говорил наш учитель по математическому анализу), либо легким путем. Сложный путь заключается в том, что нам предстоит настроить рабочую среду самим, а это установить сервер Apache, почтовый сервер (SMTP), Perl, MySQL и сам PHP со всеми настройками и библиотеками. Легкий путь заключается в том, чтобы установить готовый пакет, в который это всё уже входит. Такой пакет существует и называется Denwer. Скачать его можно по ссылке скачать Denwer . Установку данного пакета я подробно разберу в следующей статье. Теперь вы знаете почему не работает PHP.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.