Всем привет! 🙂
Сегодня я решил затронуть тему передачи переменных между бэкэндом и фронтэндом, с которой сталкиваются абсолютно все начинающие разработчики. В частности, сегодня мы рассмотрим примеры передачи переменных из PHP в HTML и обратно, а также их вызова в обоих случаях.
Идея этой статьи у меня появилась после поиска мною соответствующего материала в сети, после которого ничего путного найти не удалось.
Дело в том, что сегодня люди начинают своё знакомство с веб-программированием изучая разнообразные платформы: CMS, фрэймворки и т.д., в которых механизм передачи переменных реализован своим уникальным образом.
Где-то переменные бэкэнда записываются в глобальный массив, а в html-шаблонах вызываются оттуда. В других случаях используются шаблонизаторы, типа Smarty, со своими механизмами передачи данных. В данной ситуации всё зависит от фантазии разработчика.
Таким образом, перед людьми, начавшими своё знакомство с языками написания сайтов благодаря готовым движкам, иcчезла необходимость изучения механизмов передачи данных для «чистых» PHP и HTML.
Но всё же, иногда такая необходимость появляется, причём не только у начинающих, но и у опытных юзеров.
Кому может быть полезно понимание механизма передачи данных из PHP в HTML и обратно?
Представьте, что вы захотели написать собственный движок 🙂 Тем более, что рано или поздно, в учебных целях или коммерческих за такую работу принимается больше половины программистов Земного шара.
А до этого вы работали только с готовым продуктом, в котором свой механизм передачи данных, т.е. необходимости вникать в тонкости «стандартной» передачи у вас не было.
Или, к примеру, вас не устраивает используемый в вашем проекте шаблонизатор (программная надстройка, позволяющая минимизировать содержание бизнес-логики в графических шаблонах, т.е. убирать из html php-конструкции, ограничиваясь только вызовом переменных, функций и файлов), и вы решили написать собственный.
Или же совсем жизненный пример — вы ищете работу, а в предлагаемом тестовом задании без использования в html php-данных никуда. Причём, тестовое нужно сделать на «чистых» языках, а не с использованием горячо любимых вами и используемых фреймворков.
Ну, про новичков, которые только начинают работать с PHP и HTML, о ценности рассматриваемого сегодня вопроса я вообще умолчу.
В результате вы идёте в Интернет — и вместо конкретного ответа на вопрос вы находите только обсуждения на форумах, где ничего толкового нет.
Но ничего — сегодня мы исправим эту ситуацию 😉
Как передать переменные PHP в HTML?
Для примера создадим простенький тестовый скрипт index.php:
<?php $hello = 'Привет, мир!'; require_once('index.html'); ?>
Как видите, в нём всего 2 строчки: в первой объявляется переменная $hello со значением «Привет, мир!», а во второй мы подключаем наш html-шаблон, в котором будет выводить нашу переменную следующим образом:
<html> <head> </head> <body> <div>Переменная из php: <span><?php echo $hello; ?></span> </div> </body> </html>
Здесь, как видите, тоже всё очень незамысловато: для вызова необходимой конструкции её нужно заключить между скобками <?php … ?> (при соответствующих настройках сервера возможен сокращённый вариант записи <? … ?>) и вывести с помощью оператора echo.
В результате, при запуске скрипта в вашем веб-браузере вы увидите следующий результат:
Надеюсь, вы не забыли скопировать скрипт и html-файл в каталог, соответствующий новому сайту, на локальный веб-сервер и запустить сервер? Если желаемая надпись в браузере не появилась — проверьте порядок выполняемых действий ещё раз.
Как передать массив PHP в HTML?
Передачу простых переменных мы рассмотрели. А как насчёт массивов, можете спросить вы? Действительно, передача массивов также весьма востребована в случаях, когда необходимо в HTML вывести списки объектов из PHP.
В качестве примера, видоизменим наш PHP-скрипт, сделав из переменной $hello массив:
<?php $hello = array('Привет!', "Мир!"); require_once('index.html'); ?>
В данном случае описанный нами способ вызова переменной PHP в HTML выдаст следующий результат:
И это вполне логично, т.к. распечатать содержимое PHP-массива с помощью echo не получится — на экран выводится «Array», что всего лишь указывает на то, что выводимая на экран структура данных — это массив.
Содержимое массива можно просмотреть, выводя его элементы в цикле. Для этого немного видоизменим наш HTML-шаблон:
<html> <head> </head> <body> <div>Переменная из php: <ul> <?php foreach ($hello as $str) { ?> <li><?php echo $str; ?></li> <?php } ?> </ul> </div> </body> </html>
В результате, после повторного запуска скрипта в веб-браузере, на экране мы увидим следующее:
Приведённый выше html-код вы можете найти на странице категории абсолютно любого Интернет-магазина, т.к. отображаемые там товары — это содержимое передаваемого PHP-массива.
Ещё один факт, на который следует обратить внимание в предыдущем примере — это возможность использования PHP-операторов и конструкций в HTML (в данном случае используется функция перебора массива foreach), которые также необходимо прописывать между открывающим и закрывающим тэгами <?php?>.
Т.е., подводя краткое резюме под написанным ранее, для передачи переменной из PHP в HTML, HTML-документ должен быть подключён в PHP с помощью директив include или require, после чего объявленные в скрипте переменные будут доступны в шаблоне.
Как вы могли заметить, язык PHP прекрасно взаимодействует с HTML — это его базовая фича, которая у него «в крови», т.е. реализуется без каких-либо дополнительных манипуляций 🙂
Следующим этапом мы рассмотрим обратную сторону данного взаимодействия двух языков — а именно, передачу данных из HTML в PHP.
Передача данных из HTML в PHP
Для данного действия нам потребуется разместить данные в HTML внутри формы, т.е. внутри открывающего и закрывающего тэгов <form></form>. Для этого используем другой тестовый пример, файл index.html которого будет выглядеть так:
<html> <head> </head> <body> <form method="POST"> Имя: <input type="text" name="login"> Пароль: <input type="password" name="password"> <input type="submit" value="OK"> </form> </body> </html>
Как вы могли догадаться, он представляет из себя примитивную форму авторизации пользователя на сайте, в которой пользователь будет вводить логин и пароль и нажимать на кнопку «ОК» для отправки данных на сервер.
Немного комментариев по поводу передачи в PHP данных HTML-форм (если вдруг кто не в курсе). HTML-формы, как уже было сказано, представляют из себя пару тэгов <form></form>, между которыми располагаются элементы формы, представляющие собой тэги <input> (закрывающий тэг не требуется) со следующими атрибутами:
- name — будет использоваться как идентификатор элемента для получаения его значений в PHP;
- type — тип элемента. В зависимости от вводимых в элемент данных может быть «text», «password», «button» и т.д.
- value — значение элемента по умолчанию (текст в поле до ввода данных, надпись на кнопке и т.д.).
Конечно, это далеко не полный список атрибутов. Я привёл только самые необходимые. Если хотите, чтобы я рассказал обо всех возможных — отпишитесь в комментариях. Жду ваших ответов 🙂
Тэги <input> также могут быть заменены и дополнены специализированными тэгами <button>, <textarea> и т.д., у которых будут присутствовать те же атрибуты, что и у <input>.
Обязательным для каждой формы является наличие элемента с типом «submit», который представляет собой кнопку для отправки данных HTML-формы с помощью HTTP-запроса к серверу, на котором расположены скрипты PHP, обрабатывающие его.
Благодаря возможностям JavaScript и его библиотек элемента с типом «submit» может и не быть — имейте это ввиду при внесении правок в код своего сайта.
У отправляемого HTML-формой HTTP-запроса также есть несколько параметров, которые задаются в качестве атрибутов тэга <form>:
- method — содержит одно из двух значений GET/POST, основным различием между которыми является метод передачи данных. При передаче методом GET они будут добавляться в url сайта в виде «http://siteurl.com/index.php?login=UserName&password=qwerty», что, соответственно, небезопасно. А при POST данные будут скрыты, поэтому в данном примере он и применяется. К тому же методом POST можно передать данные бОльшего размера, чем GET;
- action — будет содержать адрес скрипта, который будет обрабатывать оправленные формой данные. По умолчанию данные передаются в тот же скрипт, через который был вызван HTML-шаблон. В моём примере данный вариант меня вполне устраивает, поэтому я не указывал значение для данного атрибута;
Напомню, что структура данного тестового сайта такая же: каталог с HTML-документом, содержащим интерфейс для взаимодействия пользователя с сайтом и PHP-скрипт, который его вызывает. Последний будет иметь следующий вид:
<?php if(!empty($_POST)) { echo '<pre>'; print_r($_POST); die(); } require_once('index.html'); ?>
Как видите, данные, отправляемые HTML-формой, будут содержаться в массиве POST, который доступен в PHP в виде конструкции $_POST. В нашем случае, после нажатия на кнопку «ОК» в HTML-форме, скрипт выведет на экран следующее:
Как видите, в случае удачного HTTP-запроса массив POST будет содержать введённые в форме данные в формате «значение атрибута name элемента формы» => «введённое в элемент значение».
Далее в PHP можете обрабатывать данные так как вам захочется 🙂
К слову, данные переданные из HTML-формы в PHP, могут быть доступны в массиве, соответствующему названию метода, с помощью которого они передавались. Если данные передавались методом POST, то искать их нужно в массиве $_POST, если GET — то, соответственно, в $_GET.
Данные, переданные любым из указанных способов также могут быть доступны через массив $_REQUEST, который помимо помимо содержимого массивов $_GET и $_POST также может содержать данные суперглобального массива $_COOKIE, который содержит данные, сохранённые в cookie-файлах (известные в Рунете куки) вашего браузера.
Также, до версии PHP 4.3, в данном массиве содержались ещё и данные о передаваемых через HTML-форму файлах из массива $_FILES, но они были выделены в отдельный массив.
Таким образом, сегодня мы рассмотрели механизм взаимодействия путём передачи данных между HTML и PHP, бэкэндом и фронтэндом ваших сайтов.
Надеюсь, что информация была для вас полезной 🙂 Жду ваши отзывы в комментариях под статьёй и подписки на обновления сайта, чтобы вы были в курсе новых статей.
Также, пользуясь случае, хочу всех вас пригласить в паблик нашего проекта Вконтакте для обсуждения волнующих вас вопросов. Также здесь вы всегда найдёте массу увлекательных статей, конкурсов и весёлой информации, которая сделает вас на шаг ближе к сайту своей мечты.
Милости просим 🙂
P.S.: если вам нужен сайт либо необходимо внести правки на существующий, но для этого нет времени и желания, могу предложить свои услуги.
Более 5 лет опыта профессиональной разработки сайтов. Работа с PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, React, Angular и другими технологиями web-разработки.
Опыт разработки проектов различного уровня: лендинги, корпоративные сайты, Интернет-магазины, CRM, порталы. В том числе поддержка и разработка HighLoad проектов. Присылайте ваши заявки на email cccpblogcom@gmail.com.
И с друзьями не забудьте поделиться 😉
Огромное спасибо за информацию!
Только начинаю разбираться с PHP.
У меня сайт на чистом html с использованием ssi.
И я задумал сделать для него микроразметку для рейтинга google и поисковых сайтов.
Как раз понадобилось чтение базы данных.
Попробовал подключить сайт через index.php
Данные появились
Но:
— перестал работать ssi
— кодировка страницы изменилась
Если с кодировкой наверное найду способ разобраться, то с ssi — пока не знаю что делать.
Здравствуйте! У меня к Вам два вопроса:
1. Что такое ssi?
2. Попробовал подключить сайт через index.php — то Вы конкретно делали? Опишите весь порядок действий, пожалуйста.
Здравствуйте, Павел!
я сделал сайт давно на чистом html
У меня главная страница — index.shtml сайт avon.kharkov.ua
Пробовал сделать подключение через index.php:
————————————-
ssi — server side include
на всем сайте меню подключается этой технологией — очень много страниц (вручную исправлять на php нереально).
————————————-
ssi не заработала, пришлось отказаться от index.php
————————————-
в итоге сейчас php пишет значение рейтинга в файл
а на странице я это значение считываю javascript
Сейчас пока у меня проблеммка — микроразметка google не понимает мою переменную javascript
Проблемы поисковиков с JS-кодом наблюдались всегда) Поскольку JS выполняется динамически, а робот поисковой системы сканирует лишь HTML-код страницы, то вполне возможно, что JS-переменная не будет восприниматься.
1. Укажите, что за переменная и попробуйте её сами найти в коде страницы в браузере — Ctrl+U.
2. Попробуйте изменить алгоритм вывода значений рейтинга
Пытаюсь понять web-программирование. Пока не очень.
Есть задача: периодически, раз в 5 минут запрашивать из клиентского Js-скрипта несколько переменных у серверного скрипта на PHP и разместить их в нужные текстовые поля. Данные PHP-скрипт должен взять из БД Access.
Как это можно сделать?
Добрый день!
В вашем случае вам понадобится технология AJAX, с помощью которой вы будете без перезагрузки страницы отправлять запросы из JS кода в PHP скрипт и обрабатывать ответ от него. Конкретно в вашем случае нужно будет создать html документ с формой и полями, в котором будет подключаться js файл, например, так:
В JS файле будет производиться AJAX запрос по таймауту в 5 минут (5*60*1000 милисекунд) с помощью функции setInterval следующим образом:
В моём примере отправляется запрос типа POST к скрипту script.php, который лежит на одном уровне с js файлом. В нём-то у вас и будет производиться выборка данных из БД. Сам скрипт будет выглядеть примерно следующим образом:
Я сделал запись в переменные случайных значений. У вас же вместо них будет информация из базы данных сайта. Надеюсь, что я доступно объяснил 🙂
Если будут вопросы — обращайтесь.
Спасибо за ответ.
У меня не работают 2 последних строки в php:
Как я понимаю, в первой строке должно производиться присвоение переменной $result строки, а что делает вторая, не понимаю. По идее, формат json_encode должен что-то преобразовать во что-то, понятное браузеру.
Первая строка — это запись массива из переменных $var1, $var2 в переменную $result. Последняя — вывод на экран массива, представленного в JSON формате (для корректной передачи и обработке в JavaScript).
Как именно вы поняли, что строки не работают?
Мои познания где-то на так себе уровне VB 6.0. Я просто создал в блокноте файлы, добавив в конце, приведённого вами php скрипта: «?>», заменил в ytml в строке:
script2.php на script.php,
скопировал их в папку «www» Small http server, на котором установлен php version 3.0 и запустил. Вижу два текстовых поля ввода и кнопку «send». Если ничего не вводить, ничего не происходит, если ввести числовые значение в ода поля и нажать кнопку, получаю ответ:
Parse error: parse error, unexpected ‘[‘ in C:\shttps\www\script.php on line 6
Если оправлять данные:
получаю два числа вверху окна без занесения в поля.
Саму идею увидел на страничке:
http://www.coolwebmasters.com/codes-and-scripts/2545-pushing-updates-to-the-web-page-with-html5-server-sent-events.html
В моём случае кнопка отправки данных на сервер не нужна. Нужны просто поля, в которые сервер будете пересылать данные.
Как видите, мне очень сложно понять даже простые вещи.
Не переживайте вы так сильно 🙂 Ничего страшного же не произошло 🙂
Ошибка PHP связана, скорее всего, с тем, что вы используете невероятно устаревшую версию PHP на вашем веб-сервере: php version 3.0.
Не знаю, по каким мануалам вы устанавливали и настраивали локальный веб-сервер, но сейчас актуальная рабочая версия PHP 7.1, поэтому некоторые синтаксические конструкции и вызывают ошибки в вашем случае. Я лично рекомендую использовать для локальной разработки OpenServer, если вы работаете под Windows, т.к. сам им пользуюсь и не нарадуюсь 🙂
И да, script2.php не нужно было менять на script.php, т.к. таким образом я хотел как раз сделать акцент, что для обработки запроса, отправленного с помощью формы, нужен другой скрипт, отличный от того, что получает данные из БД в вашем случае и генерирует случайные числа в моём.
По поводу чисел, которые у вас поверх полей отображаются — тут, скорее всего, виноват браузер или кэш браузера. Воспользуйтесь современными версиями Firefox или Chrome и очистите у них кэш предварительно.
Скачал версию PHP 7.1.10. Почитал об установке. Что-то сложно. Старую версию просто распаковал в директорию «php» сервера и прописал путь к папке в настройках сервера.
Поищу более подробное описание по установке PHP и попробую запустить.
Small http server выбрал из-за простоты настроек. Мне нужно организовать работу в локальной сети предприятия. Этот наносайт из одной страницы нужен, максимум, для четырёх потребителей, чтобы они не звонили по телефону, а смотрели в браузере. Мне предлагали сделать программки 5-ти минутного удалённого опроса БД, находящейся на моём компьютере на VB и установить у потребителей. Но у двух оказались «Дебиан» и «федора». Вот и пытаюсь что-то простенькое сделать. И, судя по реакции руководства, это надо только мне, чтобы не дёргали звонками.
При отправке со станички, текстовые поля исчезают вместе с кнопкой. Чтобы написать ещё один скрипт, поищу как работать с БД на PHP. К сожалению, в книгах описывают только два случая: базу сотрудников и интернет магазин.
Не могли бы вы посоветовать, что почитать, применительно к моему случаю?
По поводу исчезания полей при нажатии на кнопку «отправить» — просто уберите следующий элемент из HTML:
Да и вообще, если вам просто нужно будет мониторить данные без их изменения, то сверстайте простую страничку с текстовыми блоками без форм, как в моём примере. Тогда никто никого не будет сбивать с толку.
Если сайт будет крутиться в локальной сети — установите себе на ПК OpenServer, как я вам сказал, и не мучайтесь с настройками PHP. Работать с ним просто — пару кликов мышки. Почитайте на моём сайте о работе с ним, я упоминал отдельные моменты в статьях. Просто пройдитесь поиском по сайту с запросом «OpenServer».
Когда поставите OpenServer и сделаете сайт, то настройте OpenServer, чтобы сайт открывался по вашему локальному IP — тогда все остальные пользователи смогут увидеть информацию на нём.
Я, кстати, предоставленный пример делал и тестировал исключительно на OpenServer. Сайт состоял из 3 файлов, содержимое которых я вам и скинул. Только HTML засуньте в файл с названием index.html — OpenServer тогда будет воспринимать его как точку входа.
Для работы с БД пишите свой код в файле, где генерируются сейчас случайные числа. Для работы с Microsoft Access из PHP — сам таким на практике не занимался. Из литературы могу порекомендовать следующее:
http://php.net/manual/ru/faq.databases.php#faq.databases.access — общие положения, сильно не углубляйтесь, т.к. это просто теория.
https://stackoverflow.com/questions/19807081/how-to-connect-php-with-microsoft-access-database — примеры кода
https://www.sitepoint.com/using-an-access-database-with-php/ — ещё примеры кода
В последних инфа на английском, но, зато более полезная с практической точки зрения 🙂
Будут сложности с запуском сайта на OpenServer — пишите на cccpblogcom@gmail.com, вышлю исходники. Только не злоупотребляйте моей добротой, попробуйте сначала сами 🙂
Спасибо за ответ. Буду читать.
«Дело новое, не освоенное. Народ хочет разобраться :-)».
Конечно, интересно самому понять.
Это да 🙂 В этом деле главное не торопиться, а то можно таких дров наломать, что потом неделю разбираться можно в причине…
Проблемка:(
У меня Windows XP и максимум, что может поддерживаться — PHP 5.4. Как я понимаю, из-за этого возникает ошибка — Got the Error 0:
Качаю книгу по PHP 5.4
Эм… кто вам сказал о таких ограничениях?…
И если вы до сих пор пытаетесь использовать чистый PHP, то зря. Поставьте уже OpenServer или, если не нравится, XAMPP. Готовую WAMP сборку, одним словом.
У меня у самого старый комп больше Windows XP не тянул, так благодаря OpenServer спокойно себе работал с PHP 7.
А с динозаврами (я про старые версии) даже и не думайте связываться — неблагодарное дело 🙂
Я скачал последнюю версию OpenServer Premium 5.2.7.
При первой установке согласился на установку Runtime C+. Запустил и получил сообщение о том, что PHP 5.6 и Apache 2.4 работает только начиная с Windows 7. Установил галочки против PHP 5.4 и Apache 2.2. положил файлы в папку c:\OSPanel\domains\test и при обращение по адресу http://127.0.0.1/test/Index.hml получаю:
Object not found!
The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.
If you think this is a server error, please contact the webmaster.
Error 404
127.0.0.1
11/30/17 23:21:30
Apache
Если не создавать папку, а просто положить файлы в папку c:\OSPanel\domains\, ошибка та же.
Установил PHP 5.4 на Small http server и тоже ошибка: Got the error 0:
Что-то в последнее время мне не везёт «на старте».
Да, напутал я что-то с версиями…
Можно, конечно, поставить виртуалку с Windows 7+ и OpenServer с последней версией PHP или же вообще остановиться на установке чистых компонентов (PHP, MySQL, Apache)… Но слишком много мороки…
По поводу запуска сайта в Вашем случае, он должен был открыться по адресу http://test/Index.html
Если снова будут проблемы, то назовите каталог с файлами сайта в формате типа test.site или test.local, чтобы это было похоже на доменное имя.
Всё, что лежит в domains, открывается как отдельные сайты. Примером является http://localhost/, при переходе на который отображаются в браузере файлы из каталога openserver/domains/localhost
Совсем дилетантский вопросы:
1. Если JavaScript интегрирован в html файл, то он вместе со страницей передаётся клиенту. А что происходит в случае, приведённом вами?
2. Возможно ли «убедить» JavaScript исполниться на сервере?
1. Честно говоря, я не знаю точно, как именно браузеры обрабатывают JS код в данной ситуации, никогда не копался в данном вопросе. Могу только высказать своё предположение, что при обработке HTML кода браузер переходит по всем ссылкам, указанным в нём и скачивает файлы, помещая себе их в кэш, подключая их потом на страницу виртуально.
2. Серверный JS сейчас — очень популярная сегодня тема. Я также стараюсь её постоянно избегать, т.к. считаю её ересью 🙂 Сегодня на JavaScript пишут серверную часть не только для сайтов, но и программируют на нём железо благодаря Node.js. Также знаю, что новомодные библиотеки типа ReactJS и Vue.js выполняют JS код на сервере, отдавая браузеру уже собранный HTML. Если будет интересно — почитайте об этом на специализированных сайтах, здесь я вас вряд ли проконсультирую.
Доброго времени суток всем посетителям сайта. У меня такой вопрос я только начинаю изучать РНР и пытаюсь ставить себе какие-то задачи, вот решил написать простой конвектор но столкнулся с вопросом как вернуть данные в туже самую html форму с которой получил значения.
Приветствую 🙂
В вашем случае поможет Javascript и AJAX запрос. С его помощью будете отправлять данные на сервер при подтверждении формы (нажатие на кнопку с типом submit) из JavaScript кода, а когда сервер вернёт ответ, вставите результаты обратно в форму.
Примеры кода для отправки AJAX запроса на чистом JavaScript (без всякого jQuery, хотя с ним и проще) можете найти в комментариях к этой статье выше.
PS: В следующий раз делайте поменьше ошибок в комментариях — устал исправлять 🙂
«Со скрипом» установил PHP5.3.13.
Firefox в «интсрументах разработки» пишет:
элемент не найден script.php:1:1
SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
javascript.js:8:14
Chrome пишет тоже самое.
Непонятно, что такого не находит PHP5.3.13 из того, что есть, как вы писали, в PHP7.1?
У Вас проблема не с версией PHP, а с путём к файлу script.php. Пропишите его правильно. Если сложно написать правильно относительный url, воспользуйтесь для начала абсолютным, а потом подберите относительный вариант.
Проблема все-таки в Small HTTP server-е. Он работает только с PHP4.4 максимум.
Немного разобрался с OpenServer Premium 5.2.7. Ваш пример прекрасно заработал. Спасибо за помощь. Осталось разобраться с базами.:)
Пожалуйста 🙂 Рад был помочь 🙂
Принимаю «благодарности» через форму под статьёй, которые пойдут на развитие проекта.
Сказать, что с деньгами сейчас плохо — сильно приукрасить действительность.
В качестве компенсации предлагаю материал для статьи.
Файл javascript.js
В HTML файле тремя способами записаны текстовые поля. Из него вызывается файл javascript.js, который вызывает серверный скрипт: script.php, который, в свою очередь, запускает генераторы случайных чисел………….
Из примера видно, что переменные из PHP-скрипта, полученные……JavaScript-ом выводятся по-разному.
Мне, как начинающему, пришлось помучиться, чтобы с посторонней помощью дойти до этого. Думаю, начинающим будет полезно.
HTML файл почему-то не отобразился.
Главное, что у вас всё получилось 🙂 Надеюсь, работу с БД осилили?
Да. «Мир не без добрых людей».
К сожалению, нет ни одной книги, где бы последовательно рассказывалось о чём-либо. Приходится много «копать».
Не понятно, почему не отобразились тексты HTML и PHP файлы. Почта отказывается пересылать архивы. Это что-то новое.
Чтобы HTML и PHP код вставить в комментарии — заключите их в шорткоды [ code ][ /code ]. Только пробелы уберите от названия до скобок.
Опять не отобразилось.
Вспомнил про резервную почту. Кажется, вложение отправилось.
Текст из div в переменную php, как сделать?
Честно говоря, не понял сути вопроса. Напишите подробнее, что вы хотите сделать?
Приветик! Оговорюсь сразу, может я, опубликовала тему не совсем не по теме сайта, но тем неменее, разбирающиеся пользователи должны быть.
На днях был спор с близкой подругой, что смогу сделать ресурс и за полгода я смогу вывести его в топ 10 поисковиков и получать трафик не ниже 500 уникальных посетителей. Но, проблема в том, что я не понимаю в этом деле, а спор проигрывать нельзя. Отсюда к вам просьба, для тех, кто понимает, сколько может стоить такой сайт под ключ, который выше.
А главное, за какую цену вы могли взяться и сделать такой сайт? Много денег у меня к сожалению нет, но, какую-то сумму за работу заплатить смогу.
Если вы можете взяться за это дело, напишите в ЛС, оповещения читаю
Если я вам не ответила, то, цена меня не устраивает.
Модераторы, если не в тот раздел написала, перенесите по тематике или в раздел свободного общения, заранее спасибо.
День добрый 🙂 По поводу разработки сайта — пишите на email cccpblogcom@gmail.com
По поводу 500 уников в сутки — для этого Вам потребуется SEO-специалист и солидный бюджет, т.к. для данной посещаемости есть конкретные сроки. А дальше всё будет зависеть от умений SEO-шника и удачи, что поисковики поставят Ваш сайт в топ.
Можете и сами всё сделать, в принципе, если с бюджетом беда: выберите низкоконкурентную тематику, составьте семантическое ядро, наполните сайт контентом, закупите ссылок на авторитетных ресурсах и рекламная компания через контекстку не помешает.
Если вы, конечно, не испугаетесь 🙂
Добрый день!
Как мне вытянуть из тега текст и отправить его формой?
Есть магазин, в котором много продукции. При отправке формы мне нужно, дабы название товара отправлялось вместе с введёнными данными..
Подскажите, как это сделать?
Здравствуйте! Если название товара вводится в текстовый input — просто укажите ему name, чтобы увидеть введённое значение в итоговом массиве $_REQUEST в PHP. Если тэг с названием товара не является частью формы, то у вас 2 варианта отправить данные в PHP из HTML:
1. Добавить внутрь тэгов form следующий элемент:
Он будет скрытым, т.е. визуально на странице пользователь его не увидит, но текст, содержащийся в value, будет присутствовать в массиве $_REQUEST в PHP в скрипте обработчика формы.
2. Сделать отправку формы с помощью JavaScript и AJAX запроса, прочитав значение нужного тэга там же и передав его PHP скрипту.
Второй вариант предпочтительнее, но если не знаете, как отправлять AJAX запросы, то воспользуйтесь первым (он не совсем рекомендуется по причине дублирования контента страницы, на что могут обратить внимание поисковики).
Извините. Я новичок и много не понимаю. Если не тяжело, объясните все в том коде о вызове значений массива post. Зарание спасибо)
Добрый вечер 🙂 Отвечу вам на примере, который я написал в ответ одному из подписчиков в ВК паблике. Пользуясь случаем, хочу Вас также пригласить в сообщество, где вы всегда сможете получить ответ на все интересующие вопросы, связанные с разработкой сайтов.
Итак, пример.
Допустим, Вам нужно добавить поле для отправки email на контактную форму. Для этого Вы в HTML код формы (между тэгами form) вставляете следующее:
Открывающий тэг form расширяете этими атрибутами (или дополняете этими атрибутами, если их не было):
Добавляете в корень сайта файл email_send.php и в нём уже сможете получить email, введённый с HTML формы, в массиве $_POST или $_REQUEST внутри переменной email. Для проверки можете вывести его содержимое на экран следующей конструкцией:
Значение переменной сможете использовать следующим образом в коде:
Надеюсь, понятно объяснил. Если остались вопросы — не стесняйтесь спрашивать 🙂
Здравствуйте. Прочитал статью, очень увлекательно. Хоть ничего и не понял. А попал к вам случайно, ищу в инете как перенести плагин для вордпресс на сайт html. Может здесь подскажете. Есть плагин калькулятор wpcc на его основе сделал калькулятор с большим количеством полей. На сайте с вордпресс все отлично работает, а как мне установить (добавить) этот калькулятор на сайт чистый html. Только здесь вижу что понимаете, на других сайтах или тупая перепечатка или для продвинутых. Мне бы понять с чего начать, если моя идея осуществила.
Спасибо.
Добрый день. То, что Вы хотите реализовать, естественно выполнимо 🙂 По сути Вам нужно будет заменить все WordPress-функции (как правило, их имена начинаются с wp_) на аналогичные, написанные на чистом PHP, либо вообще отказаться от их использования.
Также можете просто найти объявления данных функций в ядре самого WordPress (пройдитесь поиском по файлам вашего ВП сайта) и скопировать их к себе на чистый html-сайт.
И, да, чуть не забыл. Сайт исключительно на html, естественно, вообще не будет поддерживать никакие WP-функции. На сервере нужен будет установленный PHP. Для максимальной совместимости лучше брать ту версию, с которой совместим ВордПресс плагин (информацию об этом можно найти на странице плагина в официальном каталоге wordpress.org), но если будете переписывать функции заново и хорошо владеете PHP, то лучше брать самую последнюю.
Спасибо за быстрый ответ. Подписался на рассылку, надеюсь узнать много полезного. Сервер бегет, думаю там поддерживается php. Я пробую на опен сервере.
Плагин заброшен разработчиком, а мне понравился. Он пока работает на последних версиях вордпресс. А вот столкнулся впервые с переносом на html, вернее сам захотел, а инфы кот наплакал. Я как китаец, хорошо умею копировать, было бы с чего и понимание как))) А я, как вы уже догадались, не очень разбираюсь в этом. Я больше по дизайну))) Попробую реализовать это, впереди бессонная ночь. Можно пояснить это — найти объявления данных функций в ядре самого WordPress (пройдитесь поиском по файлам вашего ВП сайта) и скопировать их к себе на чистый html-сайт. Не совсем понятно.
Смотрите. Цитируя Википедию, функция в программировании — это фрагмент программного кода (подпрограмма), к которому можно обратиться из другого места программы. У функции есть название, тело функции и аргументы.
Функции описываются в одном месте, а в другом вызываются.
Вот пример описания функции:
Здесь wp_comment — это название функции, args — название переменной, в которую будут записываться передаваемые при вызове функции аргументы (проще говоря, данные, которые будут обрабатываться функцией). А всё, что находится между фигурными скобками — это тело функции, которое представляет собой код, выполняемый при вызове функции.
Функции вызываются по имени с указанием аргументов, необходимых для её работы. Вот пример вызов функции в PHP:
Данная демо функция в месте её вызова вернёт строку 1 and 2 and 3.
Возвращаясь к Вашему примеру, вам нужно будет найти в коде модуля вызовы стандартным ВП функций, а затем в коде поиском найти их объявления. И найденные объявления функций Вам нужно будет перенести на свой PHP+HTML сайт в отдельный PHP-файл (для начала можно в index.php, который OpenServer вызывается по умолчанию при вызове доменного имени сайта в браузере).
Внизу этого файла вставьте скопированное описание функции из WordPress, а затем в коде выше вызовите её, выводя полученные с её помощью данные в HTML, который в обработанном виде будет отображаться браузером.
Но это самый примитивный вариант. В реальных PHP приложениях код разбит на множество файлов, каждый из которых представляет отдельный класс с набором функций. В других файлах данные классы подключаются и функции вызываются по имени класса, который необходим. С этим вы можете столкнуться в WordPress.
Надеюсь, Вам ответил.
Понял, что ничего не понял. Уяснил себе, чтобы вести разговор нужно знать хотя бы основы предмета))) Начинаю изучать их. Пока сделал следующее: установил плагин из репозитория на последнюю версию вордпресс, стал (не конфликтует). Скачал себе на комп его, посмотрел внутрь, там 1 файл php (как понимаю основной)+css+js (как встроенные, так и со сторонних библиотек). Я могу писать не языком программиста, прошу прощения. Пройдусь по файлу php и по кодексу вордпресс. Если интересно, что будет дальше, могу оставлять отчеты здесь)))
Хорошего дня.
Удачи 🙂
Здравствуйте, я сразу оговорюсь, что я не программист. Так иногда для себя или знакомых стряпаю сайты на пару страничек. В основном без использования php, java так простейшие варианты… Но вот появилось пара вопросов по html и php, java.
Видел код с одного сайта, там в поле величина value= для «start_time» всегда стоит сегодняшнее время и дата и каждый раз при загрузке странички обновляется. Как это достигается? Полагаю нужен скрипт на js.
Приветствую 🙂 Если время обновляется в режиме realtime, то то реализуется с помощью JavaScript. Если дата просто присваивается при загрузке страницы, то её получение происходит на бэкенде (PHP например) и это значение вставляется в HTML код, который на бэкенде и рендерится.
Но я лично не делаю ни первым, ни вторым способом. Если нужно получить текущую дату для фиксации её в базе данных, то это нужно делать на бэкенде уже при получении данных формы и перед записью обработанной информации в базу.
Благодарю за быстрый ответ. Если делать рефреш-релод странички то дата обновляется соответственно, тоесть наверное значение вставляется в код, значит скорее всего PHP… Придется к вам обращаться по поводу помощи с програмированием… Это в личку писать cccpblogcom@gmail.com ?
Да, пишите. Постараюсь помочь 🙂
Добрый день! Благодарю Вас за данную информацию! Вы не подскажите, как можно передать из обработчика формы, находящегося в файле с расширением «php», тегу «input», находящемуся в форме обратной связи в файле «index.html», в качестве значения «value» переменную $_SESSION содержащую информацию введенную пользователем в поле»input», находящиеся в форме обратной связи выше упомянутого файла «index.html»? Блин, еле выговорил!)) Надеюсь, что не запутал Вас! Чтобы при перезагрузке страницы введенная пользователем информация (имя, телефон) сохранялась в поле ввода.
Заранее благодарю.
С уважением.
Здравствуйте. Спасибо за отзыв 🙂 Боюсь, что для Вашего случая лучше использовать JavaScript и localstorage вместо PHP и $_SESSION. Повесьте на событие onClick запись данных в localstorage средствами JavaScript, а у инпута в значении атрибута value укажите значение переменной localstorage. Либо, если такового не будет — пустую строку (для самой ервой загрузки, когда данных в хранилище ещё нет).
Здравствуйте! Подскажите а как передать данные через форму кнопки а не через текст. Пример задачи: Тестирование где есть вопрос и несколько вариантов ответа
Добрый день. Не совсем понял, что значит «передать данные через текст»? В разделе «Как передать массив PHP в HTML?» описан ка раз пример передачи данных через форму кнопки, как Вы выразились 🙂
Здраствуйте!
Я новичок, масса информации, трудно разобраться.
Какой инструментарий должен быть применен, чтобы:
функция пшп include затягивала в место, где она стоит в коде html, тексты из n-ного количества внешних файлов (которые в папке, а не в БД) динамически, т.е. не по загрузке сайта, а по нажатию на соответствующую кнопку или эллемент меню.
Еще то же, но по другому: страница загружается, посетитель сайта видит ниспадающее меню, кликает по выбранному элементу меню и на этой же странице без перезагрузки в небольшом окошке (как в случае с фреймом) появляется нужный текст. Как это сделать?
Сессия нужна или нет?
Запросы Get/Post уместны или не по теме?
Формы html обязательны или достаточно кнопок?
Без ajax только js посредством функции document.write можно обойтись?
Добрый день. По Вашему вопросу — если Вам нужно сделать действие на странице без её перезагрузки, то Вам всего-навсего нужен AJAX 🙂 Не нужно придумывать сложности 🙂