Передать параметр в php файл

Обновлено: 04.07.2024

Когда происходит отправка данных формы PHP-скрипту, информация из этой формы автоматически становится доступной ему. Существует несколько способов получения этой информации, например:

Есть только два способа получить доступ к данным из форм HTML. Доступные сейчас способы приведены ниже:

Замечание:

Точки и пробелы в именах переменных преобразуется в знаки подчёркивания. Например, <input name="a.b" /> станет $_REQUEST["a_b"] .

PHP также понимает массивы в контексте переменных формы (смотрите соответствующие ЧАВО). К примеру, вы можете сгруппировать связанные переменные вместе или использовать эту возможность для получения значений списка множественного выбора select. Например, давайте отправим форму самой себе, а после отправки отобразим данные:

<?php
if ( $_POST ) echo '<pre>' ;
echo htmlspecialchars ( print_r ( $_POST , true ));
echo '</pre>' ;
>
?>
<form action="" method="post">
Имя: <input type="text" name="personal[name]" /><br />
Email: <input type="text" name="personal[email]" /><br />
Пиво: <br />
<select multiple name="beer[]">
<option value="warthog">Warthog</option>
<option value="guinness">Guinness</option>
<option value="stuttgarter">Stuttgarter Schwabenbräu</option>
</select><br />
<input type="submit" value="Отправь меня!" />
</form>

Имена переменных кнопки-изображения

При отправке формы вместо стандартной кнопки можно использовать изображение с помощью тега такого вида:

Когда пользователь щёлкнет где-нибудь на изображении, соответствующая форма будет передана на сервер с двумя дополнительными переменными - sub_x и sub_y . Они содержат координаты нажатия пользователя на изображение. Опытные программисты могут заметить, что на самом деле имена переменных, отправленных браузером, содержат точку, а не подчёркивание, но PHP автоматически преобразует точку в подчёркивание.

Замечание: Начиная с PHP 7.2.34, 7.3.23 и 7.4.11, соответственно, имена входящих cookie больше не декодируются из URL-закодированной строки из соображений безопасности.

Если вы хотите присвоить множество значений одной переменной cookie, вы можете присвоить их как массив. Например:

<?php
setcookie ( "MyCookie[foo]" , 'Testing 1' , time ()+ 3600 );
setcookie ( "MyCookie[bar]" , 'Testing 2' , time ()+ 3600 );
?>

Это создаст две разные cookie, хотя в вашем скрипте MyCookie будет теперь одним массивом. Если вы хотите установить именно одну cookie со множеством значений, сначала рассмотрите возможность использования к значениям такие функции, как serialize() или explode() .

Обратите внимание, что cookie заменит предыдущую cookie с тем же именем в вашем браузере, если только путь или домен не отличаются. Так, для приложения корзины покупок вы, возможно, захотите сохранить счётчик. То есть:

<?php
if (isset( $_COOKIE [ 'count' ])) $count = $_COOKIE [ 'count' ] + 1 ;
> else $count = 1 ;
>
setcookie ( 'count' , $count , time ()+ 3600 );
setcookie ( "Cart[ $count ]" , $item , time ()+ 3600 );
?>

Точки в именах приходящих переменных

Как правило, PHP не меняет передаваемых скрипту имён переменных. Однако следует отметить, что точка не является корректным символом в имени переменной PHP. Поэтому рассмотрим такую запись:

По этой причине важно отметить, что PHP будет автоматически заменять любые точки в именах, приходящих переменных на символы подчёркивания.

Определение типов переменных

Поскольку PHP определяет типы переменных и преобразует их (как правило) по мере необходимости, не всегда очевидно, какой тип имеет данная переменная в любой момент времени. PHP содержит несколько функций, позволяющих определить тип переменной, таких как: gettype() , is_array() , is_float() , is_int() , is_object() и is_string() . Смотрите также раздел Типы.

HTTP является текстовым протоколом, и большинство, если не всё, содержимое, которое приходит в суперглобальные массивы, например, $_POST и $_GET , останется в виде строк. PHP не будет преобразовывать значения в определённый тип. В приведённом ниже примере $_GET["var1"] будет содержать строку "null", а $_GET["var2"] - строку "123".

Список изменений

Версия Описание
7.2.34, 7.3.23, 7.4.11 имена входящих cookie больше не декодируются из URL-закодированной строки из соображений безопасности.

User Contributed Notes 30 notes

The full list of field-name characters that PHP converts to _ (underscore) is the following (not just dot):
chr(32) ( ) (space)
chr(46) (.) (dot)
chr(91) ([) (open square bracket)
chr(128) - chr(159) (various)

PHP irreversibly modifies field names containing these characters in an attempt to maintain compatibility with the deprecated register_globals feature.

Important: Pay attention to the following security concerns when handling user submitted data :

This post is with regards to handling forms that have more than one submit button.

Suppose we have an HTML form with a submit button specified like this:

<input type="submit" value="Delete" name="action_button">

Normally the 'value' attribute of the HTML 'input' tag (in this case "Delete") that creates the submit button can be accessed in PHP after post like this:

<?php
$_POST [ 'action_button' ];
?>

We of course use the 'name' of the button as an index into the $_POST array.

This works fine, except when we want to pass more information with the click of this particular button.

Imagine a scenario where you're dealing with user management in some administrative interface. You are presented with a list of user names queried from a database and wish to add a "Delete" and "Modify" button next to each of the names in the list. Naturally the 'value' of our buttons in the HTML form that we want to display will be "Delete" and "Modify" since that's what we want to appear on the buttons' faceplates.

Both buttons (Modify and Delete) will be named "action_button" since that's what we want to index the $_POST array with. In other words, the 'name' of the buttons along cannot carry any uniquely identifying information if we want to process them systematically after submit. Since these buttons will exist for every user in the list, we need some further way to distinguish them, so that we know for which user one of the buttons has been pressed.

Using arrays is the way to go. Assuming that we know the unique numerical identifier of each user, such as their primary key from the database, and we DON'T wish to protect that number from the public, we can make the 'action_button' into an array and use the user's unique numerical identifier as a key in this array.

Our HTML code to display the buttons will become:

<input type="submit" value="Delete" name="action_button[0000000002]">
<input type="submit" value="Modify" name="action_button[0000000002]">

The 0000000002 is of course the unique numerical identifier for this particular user.

Then when we handle this form in PHP we need to do the following to extract both the 'value' of the button ("Delete" or "Modify") and the unique numerical identifier of the user we wish to affect (0000000002 in this case). The following will print either "Modify" or "Delete", as well as the unique number of the user:

<?php
$submitted_array = array_keys ( $_POST [ 'action_button' ]);
echo ( $_POST [ 'action_button' ][ $submitted_array [ 0 ]] . " " . $submitted_array [ 0 ]);
?>

$submitted_array[0] carries the 0000000002.
When we index that into the $_POST['action_button'], like we did above, we will extract the string that was used as 'value' in the HTML code 'input' tag that created this button.

If we wish to protect the unique numerical identifier, we must use some other uniquely identifying attribute of each user. Possibly that attribute should be encrypted when output into the form for greater security.

Данные методом GET передаются путем их добавления к URL-адресу вызываемого сценария, предназначенного для обработки полученной информации. Для пояснения данного метода наберите в адресной строке браузера URL-адрес ресурса и добавьте сначала знак вопроса ( ? ), а затем строчку num=10 . Например


Если у вас локальный сервер, то обычно домен будет localhost , и тогда предыдущая запись будет выглядеть

В этом случае мы передаем параметр num равный 10. Для добавления следующих параметров сценарию нужно использовать разделитель - амперсант ( & ), например

В данном случае мы передали скрипту три параметра: num со значением 10, type со значением " new " и v со значением " text ".
Для получения этих параметров в скрипте нужно использовать встроенный массив $_GET. Ключами этого массива будут названия параметров. В нашем случае нужно использовать $_GET["num"], $_GET["type"],$_GET["v"] . Эти элементы массива и будут содержать значения переданных параметров. Для демонстрации этого примера создайте файл script.php следующего содержания

Немного прокомментирую созданную форму. Формы создаются тегом form . Поля формы создаются тегами input , select , textarea (подробнее можно почитать формы в HTML). В теге form в атрибуте action указывается URL-адрес скрипта, который получит данные формы. В нашем случае мы указали уже существующий у нас файл script.php . Атрибут method задает метод отправки данных. Мы указали метод GET. Теперь мы знаем, какому файлу будут переданы данные формы, и каким способом, осталось разобраться, где их там искать?!
Данные этой формы будут переданы веб-ресурсу браузером путем добавления их к URL-адресу: сначала будет знак вопроса ( ? ), затем будут представлены параметры разделенные амперсантом ( & ). Название параметра будет браться из атрибута name , которое должно быть прописано у любого поля формы. Значение параметра будет зависеть от типа поля. Если поле является текстовым, то значением будет введенный пользователем текст. Если же поле будет представлять собой список, группу переключателей или флажков, то значением параметра будет значение атрибута value выбранного элемента. Поясню на примере нашей формы. Если пользователь введет в поле input число 10, то названием параметра будет num (значение атрибута name тега input ), а значением будет 10 (введенное пользователем число). Соответственно браузер сформирует пару " num=10 ". Если пользователь из списка выберет вариант "Да", то названием параметра будет type (значение атрибута name тега select ), а значением будет yes (значение атрибута value тега option ). Соответственно браузер сформирует пару " type=yes ".
Теперь эту форму разместим на странице forma.php .

Теперь давайте рассмотрим, как работает метод POST.
Для отправки данных методом POST нужно использовать HTML -формы. Как мы помним, что за способ отправки данных формы отвечает атрибут method тега form . Поэтому нужно в атрибуте method тега form указать значение POST . В остальном форма может быть та же, как и для метода GET . Изменим нашу форму, которую мы уже использовали для передачи данных способом GET , для передачи методом POST .


Как видите, форма осталась та же за исключением атрибутов method и action . Теперь данные будут передаваться сценарию script_post.php . Поместим нашу форму на странице forma_post.php .

Теперь надо написать сценарий, который будет обрабатывать данные нашей формы.
Для получения в скрипте данных переданным методом POST нужно использовать встроенный массив $_POST. Ключами этого массива будут названия параметров. В нашем случае нужно использовать $_POST["num"], $_POST["type"],$_POST["v"] . Эти элементы массива и будут содержать значения переданных данных. Как видите отличие от использования способа GET , выражается лишь в использовании массива $_POST . Поэтому нам не составит труда написать файл script_post.php :

Сравнение методов GET и POST

При использовании метода GET данные передаются путем добавления к URL-адресу. Таким образом, они будут видны пользователю, что с точки зрения безопасности не всегда хорошо. Также максимальный объем передаваемых данных будет зависеть от браузера - от максимально-допустимого количества символов адресной строке браузера.
При использовании метода POST данные не будут видны пользователю (не отображаются в адресной строке браузера). И поэтому они более защищены, а, следовательно, и программа обрабатывающая эти данные более защищена в плане безопасности. Также объем передаваемых данных практически ни чем не ограничен.
Выбирая способ передачи данных нужно учитывать приведенные особенности и останавливаться на наиболее приемлемом методе.

Итак, мы снова продолжаем изучение основ PHP и в этой статье познакомимся со способами передачи переменных в PHP, а именно с методами GET и POST. Каждый из них имеет свои плюсы и минусы, и применяется в соответствующих ситуациях, речь о которых пойдет в данной статье. Мы также рассмотрим примеры кода, которые демонстрируют работу методов POST и GET.

Передача переменных при помощи метода GET

Данный метод передачи переменных применяется в PHP для передачи переменных в файл при помощи адресной строки. То есть переменные передаются сразу через адресную строку браузера. Примером может быть, например, ссылка на статью в WordPress без использования ЧПУ (SEF), которая имеет примерно следующий вид:

То есть в данном случае передается переменная $p со значением 315. Теперь давайте более подробно на примере рассмотрим работу метод GET. Пускай нам нужно передать в файл три переменных $a, $b и $c методом GET и вывести их сумму на экран. Для этого можно использовать следующий код.

Поскольку все переменные перед передачей будут помещаться в глобальный массив GET (Массивы в PHP), то мы первым делом присваиваем нашим переменным значения соответствующих элементов массива GET. Делаем это в самом начале во избежание разнообразных ошибок при передаче переменных. Далее для демонстрации работы прописываем произвольную формулу и выводим результат на экран.

Как видно с примера, сначала мы добавляем знак вопроса сразу после названия файла. Далее прописываем переменную и через равно указываем ее значение. После этого через амперсанд аналогичным образом перечисляем другие переменные. Теперь при переходе по этой ссылке нам выведется сумма переменных $a, $b и $c.

Данный способ очень простой и не требует создания дополнительных файлов. Все необходимые данные поступают прямо через адресную строку браузера.

Ну а теперь давайте перейдем ко второму способу передачи переменных в PHP – методу POST.

Передача переменных в PHP при помощи метода POST

Данный способ позволяет скрыто передавать переменные с одного файла в другой. Как вы уже поняли, обычно для этих целей используются два файла. В первом находится форма для ввода исходных данных, а во втором исполнительный файл, который принимает переменные. Для демонстрации давайте рассмотрим следующий код.

Код первого файла с формой для отправки данных. Дадим ему название post-1.php

  • action – указываем файл, в который будут передаваться переменные.
  • method – метод передачи переменных. В нашем случае это метод POST.
  • name – название формы. Одновременно в файл будет передана переменная с таким именем.
  • name – имена переменных. В нашем случае это имя и фамилия (переменные name и lastname).
  • type – тип поля. В нашем случае это текстовое поле.
  • name – имя кнопки и переменной, которая будет передана вместе с другими переменными.
  • type – тип кнопки. В нашем случае это кнопка для отправки данных.
  • value – текст на кнопке.

Код второго файла, который будет служить приемником переменных. Назовем его post-2.php

Как и с методом GET, мы первым делом присваиваем переменным значения соответствующих элементов глобального массива POST. Далее для наглядности выводим эти переменные на экран при помощи оператора вывода echo.

Я хочу передать параметры из интерфейса командной строки PHP, а затем прочитать значения с помощью скрипта PHP, что-то вроде этого:

Я передаю переменную из CLI следующим образом:

выше работает, я получаю Робби в качестве выходного.

но я хочу сделать что-то вроде этого:

Так, что потребитель будет хорошо информирован для того чтобы вписать правильные параметры в правильные места. Каков подходящий способ разбора этих параметры?

при вызове PHP-скрипта из командной строки вы можете использовать $argc, чтобы узнать, сколько параметров передается и $argv для доступа к ним. Например, выполняется следующий скрипт:

выдаст следующий вывод

посмотреть $argv в и $argc для получения дополнительной информации.

чтобы сделать то, что вы хотите, давайте скажем

вам нужно было бы взорвать аргумент о знаке равенства: -

таким образом, вы можете иметь все, что хотите, перед знаком равенства, не разбирая его, просто проверьте правильность пар ключ=>значение. Однако это все немного расточительно, просто проинструктируйте пользователя о правильном порядке передачи аргументов.

в то время как ответ правильный, и вы можете сделать разбор вручную, PHP также предлагает getopt() функция, которая может быть полезна здесь.

есть также объектно-ориентированные альтернативы (написанные на PHP, доступные в ряде библиотек), которые могут оказаться тем, что вам нужно. Googling для "php getopt" даст полезные результаты.

Я использую этот довольно лаконичный способ:

который будет обрабатывать вызов, такой как:

отправив его в $_GET, вы автоматически обрабатываете доступ к сети или CLI.

для комментариев, это делает следующее:

  • если количество аргументов больше одного (так как первый элемент-это имя скрипта), то продолжить
  • захватите массив аргументов, исключая первый элемент
  • поверните его в стандарт формат строки запроса с амперсандами
  • используйте parse_str для извлечения в массив $_GET

The getopt() функция, вероятно, является наиболее правильным ответом в случае вопроса. Тем более, что он был сделан независимым от платформы с PHP 5.3. В частном случае этого вопроса и разбора нескольких параметров один из способов использования этой функции будет следующим:

вызов для установки $inputFirstName со значением "Robby" будет:

объяснение

Если вы не возражаете, используя библиотеку, я предлагаю вам взглянуть на консольный компонент от Symfony.

Он может использоваться для создания приложений командной строки и поддерживает использование Аргументы И Варианты.

страница документации содержит пару отличных примеров, чтобы вы начали.

конечно, под капотом он использует те же методы, что и vascowhite.

вы можете проанализировать пользовательский ввод в вашей программе, ища определенные строки, такие как -inputFirstName="x" (используя регулярные выражения, например), а затем установите правильную переменную в x.

kak-peredat-peremennuyu-php-v-html-i-obratno

Всем привет! 🙂

Сегодня я решил затронуть тему передачи переменных между бэкэндом и фронтэндом, с которой сталкиваются абсолютно все начинающие разработчики. В частности, сегодня мы рассмотрим примеры передачи переменных из PHP в HTML и обратно, а также их вызова в обоих случаях.

Идея этой статьи у меня появилась после поиска мною соответствующего материала в сети, после которого ничего путного найти не удалось.

Дело в том, что сегодня люди начинают своё знакомство с веб-программированием изучая разнообразные платформы: CMS, фрэймворки и т.д., в которых механизм передачи переменных реализован своим уникальным образом.

Где-то переменные бэкэнда записываются в глобальный массив, а в html-шаблонах вызываются оттуда. В других случаях используются шаблонизаторы, типа Smarty, со своими механизмами передачи данных. В данной ситуации всё зависит от фантазии разработчика.

Но всё же, иногда такая необходимость появляется, причём не только у начинающих, но и у опытных юзеров.

Кому может быть полезно понимание механизма передачи данных из PHP в HTML и обратно?

Представьте, что вы захотели написать собственный движок 🙂 Тем более, что рано или поздно, в учебных целях или коммерческих за такую работу принимается больше половины программистов Земного шара.

Или, к примеру, вас не устраивает используемый в вашем проекте шаблонизатор (программная надстройка, позволяющая минимизировать содержание бизнес-логики в графических шаблонах, т.е. убирать из html php-конструкции, ограничиваясь только вызовом переменных, функций и файлов), и вы решили написать собственный.

Ну, про новичков, которые только начинают работать с PHP и HTML, о ценности рассматриваемого сегодня вопроса я вообще умолчу.

Как передать переменные PHP в HTML?

Для примера создадим простенький тестовый скрипт index.php:

В результате, при запуске скрипта в вашем веб-браузере вы увидите следующий результат:

peredacha-peremennoj-php-v-html

Как передать массив PHP в HTML?

Передачу простых переменных мы рассмотрели. А как насчёт массивов, можете спросить вы? Действительно, передача массивов также весьма востребована в случаях, когда необходимо в HTML вывести списки объектов из PHP.

В качестве примера, видоизменим наш PHP-скрипт, сделав из переменной $hello массив:

В данном случае описанный нами способ вызова переменной PHP в HTML выдаст следующий результат:

peredacha-massiva-php-v-html

Содержимое массива можно просмотреть, выводя его элементы в цикле. Для этого немного видоизменим наш HTML-шаблон:

В результате, после повторного запуска скрипта в веб-браузере, на экране мы увидим следующее:

vyvod-dannyh-massiva-php-v-html

Т.е., подводя краткое резюме под написанным ранее, для передачи переменной из PHP в HTML, HTML-документ должен быть подключён в PHP с помощью директив include или require, после чего объявленные в скрипте переменные будут доступны в шаблоне.

Передача данных из HTML в PHP

Для данного действия нам потребуется разместить данные в HTML внутри формы, т.е. внутри открывающего и закрывающего тэгов <form></form>. Для этого используем другой тестовый пример, файл index.html которого будет выглядеть так:

Немного комментариев по поводу передачи в PHP данных HTML-форм (если вдруг кто не в курсе). HTML-формы, как уже было сказано, представляют из себя пару тэгов <form></form>, между которыми располагаются элементы формы, представляющие собой тэги <input> (закрывающий тэг не требуется) со следующими атрибутами:

Тэги <input> также могут быть заменены и дополнены специализированными тэгами <button>, <textarea> и т.д., у которых будут присутствовать те же атрибуты, что и у <input>.

Напомню, что структура данного тестового сайта такая же: каталог с HTML-документом, содержащим интерфейс для взаимодействия пользователя с сайтом и PHP-скрипт, который его вызывает. Последний будет иметь следующий вид:

peredacha-dannykh-v-php-s-pomoschyu-html-formy

Далее в PHP можете обрабатывать данные так как вам захочется 🙂

Данные, переданные любым из указанных способов также могут быть доступны через массив $_REQUEST, который помимо помимо содержимого массивов $_GET и $_POST также может содержать данные суперглобального массива $_COOKIE, который содержит данные, сохранённые в cookie-файлах (известные в Рунете куки) вашего браузера.

Также, до версии PHP 4.3, в данном массиве содержались ещё и данные о передаваемых через HTML-форму файлах из массива $_FILES, но они были выделены в отдельный массив.

Таким образом, сегодня мы рассмотрели механизм взаимодействия путём передачи данных между HTML и PHP, бэкэндом и фронтэндом ваших сайтов.

Надеюсь, что информация была для вас полезной 🙂 Жду ваши отзывы в комментариях под статьёй и подписки на обновления сайта, чтобы вы были в курсе новых статей.

Также, пользуясь случае, хочу всех вас пригласить в паблик нашего проекта Вконтакте для обсуждения волнующих вас вопросов. Также здесь вы всегда найдёте массу увлекательных статей, конкурсов и весёлой информации, которая сделает вас на шаг ближе к сайту своей мечты.

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1

56 комментариев к статье "Как передать переменную PHP в HTML и обратно?"

Огромное спасибо за информацию!
Только начинаю разбираться с PHP.
У меня сайт на чистом html с использованием ssi.
И я задумал сделать для него микроразметку для рейтинга google и поисковых сайтов.
Как раз понадобилось чтение базы данных.

Здравствуйте! У меня к Вам два вопроса:

Проблемы поисковиков с JS-кодом наблюдались всегда) Поскольку JS выполняется динамически, а робот поисковой системы сканирует лишь HTML-код страницы, то вполне возможно, что JS-переменная не будет восприниматься.

Пытаюсь понять 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 должен что-то преобразовать во что-то, понятное браузеру.

Как именно вы поняли, что строки не работают?

В моём случае кнопка отправки данных на сервер не нужна. Нужны просто поля, в которые сервер будете пересылать данные.
Как видите, мне очень сложно понять даже простые вещи.

Не переживайте вы так сильно 🙂 Ничего страшного же не произошло 🙂

Ошибка PHP связана, скорее всего, с тем, что вы используете невероятно устаревшую версию PHP на вашем веб-сервере: php version 3.0.

Не знаю, по каким мануалам вы устанавливали и настраивали локальный веб-сервер, но сейчас актуальная рабочая версия PHP 7.1, поэтому некоторые синтаксические конструкции и вызывают ошибки в вашем случае. Я лично рекомендую использовать для локальной разработки OpenServer, если вы работаете под Windows, т.к. сам им пользуюсь и не нарадуюсь 🙂

И да, script2.php не нужно было менять на script.php, т.к. таким образом я хотел как раз сделать акцент, что для обработки запроса, отправленного с помощью формы, нужен другой скрипт, отличный от того, что получает данные из БД в вашем случае и генерирует случайные числа в моём.

Да и вообще, если вам просто нужно будет мониторить данные без их изменения, то сверстайте простую страничку с текстовыми блоками без форм, как в моём примере. Тогда никто никого не будет сбивать с толку.

В последних инфа на английском, но, зато более полезная с практической точки зрения 🙂

И если вы до сих пор пытаетесь использовать чистый PHP, то зря. Поставьте уже OpenServer или, если не нравится, XAMPP. Готовую WAMP сборку, одним словом.

У меня у самого старый комп больше Windows XP не тянул, так благодаря OpenServer спокойно себе работал с PHP 7.

The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

Если снова будут проблемы, то назовите каталог с файлами сайта в формате типа test.site или test.local, чтобы это было похоже на доменное имя.

1. Честно говоря, я не знаю точно, как именно браузеры обрабатывают JS код в данной ситуации, никогда не копался в данном вопросе. Могу только высказать своё предположение, что при обработке HTML кода браузер переходит по всем ссылкам, указанным в нём и скачивает файлы, помещая себе их в кэш, подключая их потом на страницу виртуально.

Доброго времени суток всем посетителям сайта. У меня такой вопрос я только начинаю изучать РНР и пытаюсь ставить себе какие-то задачи, вот решил написать простой конвектор но столкнулся с вопросом как вернуть данные в туже самую html форму с которой получил значения.

В вашем случае поможет Javascript и AJAX запрос. С его помощью будете отправлять данные на сервер при подтверждении формы (нажатие на кнопку с типом submit) из JavaScript кода, а когда сервер вернёт ответ, вставите результаты обратно в форму.

Примеры кода для отправки AJAX запроса на чистом JavaScript (без всякого jQuery, хотя с ним и проще) можете найти в комментариях к этой статье выше.

У Вас проблема не с версией PHP, а с путём к файлу script.php. Пропишите его правильно. Если сложно написать правильно относительный url, воспользуйтесь для начала абсолютным, а потом подберите относительный вариант.

Пожалуйста 🙂 Рад был помочь 🙂

HTML файл почему-то не отобразился.

Главное, что у вас всё получилось 🙂 Надеюсь, работу с БД осилили?

Опять не отобразилось.
Вспомнил про резервную почту. Кажется, вложение отправилось.

Текст из div в переменную php, как сделать?

Честно говоря, не понял сути вопроса. Напишите подробнее, что вы хотите сделать?

Приветик! Оговорюсь сразу, может я, опубликовала тему не совсем не по теме сайта, но тем неменее, разбирающиеся пользователи должны быть.
На днях был спор с близкой подругой, что смогу сделать ресурс и за полгода я смогу вывести его в топ 10 поисковиков и получать трафик не ниже 500 уникальных посетителей. Но, проблема в том, что я не понимаю в этом деле, а спор проигрывать нельзя. Отсюда к вам просьба, для тех, кто понимает, сколько может стоить такой сайт под ключ, который выше.
А главное, за какую цену вы могли взяться и сделать такой сайт? Много денег у меня к сожалению нет, но, какую-то сумму за работу заплатить смогу.
Если вы можете взяться за это дело, напишите в ЛС, оповещения читаю
Если я вам не ответила, то, цена меня не устраивает.
Модераторы, если не в тот раздел написала, перенесите по тематике или в раздел свободного общения, заранее спасибо.

Можете и сами всё сделать, в принципе, если с бюджетом беда: выберите низкоконкурентную тематику, составьте семантическое ядро, наполните сайт контентом, закупите ссылок на авторитетных ресурсах и рекламная компания через контекстку не помешает.

Если вы, конечно, не испугаетесь 🙂

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-сайт.

Функции описываются в одном месте, а в другом вызываются.

Вот пример описания функции:

Функции вызываются по имени с указанием аргументов, необходимых для её работы. Вот пример вызов функции в PHP:

Данная демо функция в месте её вызова вернёт строку 1 and 2 and 3.

Возвращаясь к Вашему примеру, вам нужно будет найти в коде модуля вызовы стандартным ВП функций, а затем в коде поиском найти их объявления. И найденные объявления функций Вам нужно будет перенести на свой PHP+HTML сайт в отдельный PHP-файл (для начала можно в index.php, который OpenServer вызывается по умолчанию при вызове доменного имени сайта в браузере).

Внизу этого файла вставьте скопированное описание функции из WordPress, а затем в коде выше вызовите её, выводя полученные с её помощью данные в HTML, который в обработанном виде будет отображаться браузером.

Но это самый примитивный вариант. В реальных PHP приложениях код разбит на множество файлов, каждый из которых представляет отдельный класс с набором функций. В других файлах данные классы подключаются и функции вызываются по имени класса, который необходим. С этим вы можете столкнуться в WordPress.

Надеюсь, Вам ответил.

Понял, что ничего не понял. Уяснил себе, чтобы вести разговор нужно знать хотя бы основы предмета))) Начинаю изучать их. Пока сделал следующее: установил плагин из репозитория на последнюю версию вордпресс, стал (не конфликтует). Скачал себе на комп его, посмотрел внутрь, там 1 файл php (как понимаю основной)+css+js (как встроенные, так и со сторонних библиотек). Я могу писать не языком программиста, прошу прощения. Пройдусь по файлу php и по кодексу вордпресс. Если интересно, что будет дальше, могу оставлять отчеты здесь)))
Хорошего дня.

Приветствую 🙂 Если время обновляется в режиме realtime, то то реализуется с помощью JavaScript. Если дата просто присваивается при загрузке страницы, то её получение происходит на бэкенде (PHP например) и это значение вставляется в HTML код, который на бэкенде и рендерится.

Но я лично не делаю ни первым, ни вторым способом. Если нужно получить текущую дату для фиксации её в базе данных, то это нужно делать на бэкенде уже при получении данных формы и перед записью обработанной информации в базу.

Да, пишите. Постараюсь помочь 🙂

Заранее благодарю.
С уважением.

Здравствуйте! Подскажите а как передать данные через форму кнопки а не через текст. Пример задачи: Тестирование где есть вопрос и несколько вариантов ответа

Здраствуйте!
Я новичок, масса информации, трудно разобраться.
Какой инструментарий должен быть применен, чтобы:
функция пшп include затягивала в место, где она стоит в коде html, тексты из n-ного количества внешних файлов (которые в папке, а не в БД) динамически, т.е. не по загрузке сайта, а по нажатию на соответствующую кнопку или эллемент меню.
Еще то же, но по другому: страница загружается, посетитель сайта видит ниспадающее меню, кликает по выбранному элементу меню и на этой же странице без перезагрузки в небольшом окошке (как в случае с фреймом) появляется нужный текст. Как это сделать?
Сессия нужна или нет?
Запросы Get/Post уместны или не по теме?
Формы html обязательны или достаточно кнопок?
Без ajax только js посредством функции document.write можно обойтись?

Читайте также: