Выполнить php скрипт при открытии страницы

Как заставить PHP код срабатывать при открытии страницы?

Добрый день! Вопрос такой: Есть страница корзины в интернет-магазине на которой есть возможность расчета доставки товара, но для этого нужно ввести/заполнить поля (Область, город, индекс). Однако когда заходим в корзину и нажимам на «Расчет доставки» эти поля не подписаны (что конечно вызовет дискомфорт у пользователей).
https://yadi.sk/i/wzjwUSxF8aslkQ
Но после нажатия кнопки «Обновить» (для того что бы узнать стоимость доставки) подписи полей появляются.
https://yadi.sk/i/-p9heELdj_yhhg
Выходит что при открытие страницы Корзины и при нажатие на ссылку Расчет доставки php код не срабатывает полностью или частично и подписи появляются только после прямого обращения к нему.

Вопрос: Как сделать так что бы при нажатии на ссылку Расчет доставки подписи полей были видны сразу?

Если надо вот код калькулятора доставки (его фрагмент):

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
 if ( apply_filters( 'woocommerce_shipping_calculator_enable_state', true ) ) : ?>  $current_cc = WC()->customer->get_shipping_country(); $current_r = WC()->customer->get_shipping_state(); $states = WC()->countries->get_states( $current_cc ); if ( is_array( $states ) && empty( $states ) ) { ?>  esc_attr_e( 'Область / Район', 'woocommerce' ); ?>" />  } elseif ( is_array( $states ) ) { ?>    } else { ?>  echo esc_attr( $current_r ); ?>" placeholder=" esc_attr_e( 'Область / Район', 'woocommerce' ); ?>" name="calc_shipping_state" />  } ?>

Источник

Задний план

Я работаю над сайтом, который работает на сервере Apache в Windows (по крайней мере, на данный момент). Мои каталоги сайтов состоят из файлов HTML и PHP. Идея состоит в том, чтобы иметь доступные веб-страницы в виде файлов HTML, и всякий раз, когда мне нужно использовать динамический контент, я буду использовать запросы Javascript и AJAX, чтобы запросить то, что мне нужно с сервера. Запросы AJAX будут сделаны в PHP-скриптах, которые имеют каталог, посвященный им. Поскольку я хотел бы держать все хорошо организованным в своих подразделениях, так я это делаю (я стараюсь избегать встроенного PHP как можно больше).

Задача

Публичным HTML файлам не нужны какие-либо специальные настройки. Однако, когда речь заходит о конкретных HTML файлах администратора, я хотел бы сделать с ними что-то очень конкретное. Вместо написания некоторого встроенного PHP-кода для аутентификации пользователя в качестве администратора на веб-странице администратора (файл HTML) я хотел бы выполнить сценарий проверки подлинности всякий раз, когда пользователь пытается открыть определенные HTML файлы администратора, чтобы проверить, может ли пользователь открыть файл.

Вопрос

Короче говоря, это мой вопрос: как я могу запустить PHP-скрипт при открытии файлов HTML? Какие конфигурации мне нужно делать на сервере Apache или я могу как-то использовать PHP?

Как насчет создания общих частей страницы в html и загрузки административных инструментов с помощью ajax?

Источник

Как перед загрузкой страницы выполнить php код?

Надо например проверить куки и потом отправить данные. Но это нужно сделать в первую очередь. То есть наполнить станицу контентом.

Оценить 3 комментария

JRK_DV

В php куки доступы при первом запросе страницы, а может и отправлять заголовки на установку куков, в чём именно вопрос?

JRK_DV, я должен проверить куки на наличие авторизованного пользователя а потом заполнить html соответствующими данными

sayber

pashaa, И в чем проблема?
Проверяете, отдаете нужный контент и страница готова.
Вам стоит почитать о PHP в целом.

Olek1

d3881277d51243fd9706e66ec86089c9.jpg

PHP работает модулем сервера. Примерно: когда вы посылаете запрос серверу получить какойто файл, то сервер берёт этот файл, отправляет (например index.php) в модуль PHP, потом PHP когда выполнит скрипты с документом сразу возвращает его серверу, а сервер даёт его вам. То что вы хотите, так и есть уже на самом деле.

При использовании Cookies необходимо иметь в виду что Cookies должны устанавливаться до первого вывода информации в браузер (например, оперетором echo или выводом какой-либо функции). Поэтому желательно устанавливать Cookies в самом начале скрипта.

Ну допустим я запустил index.php и отправил там данные через echo?
Только не таким способом, то есть без вставки php в html или js.

Olek1

Всю работу с Cookies скопируйте в самое начало скрипта, а потом пусть идёт всё остальное

PHP это сугубо серверный язык, он не работает в браузере вообще, никак, как например это может делать JavaScript и «там и там» с Node.js. Вы просто серверу, например Apache, говорите «Дай мне документ!», он его собирает там у себя при помощи PHP, и говорит вам в ответ «Вот! На тебе документ!» и всё. У вас в браузере ничего вообще не делается. То что вы делаете на PHP всё делается только на сервере, раньше это называлось Server-Side, это то что не Client-Side. Нужно точно разделять обязанности.

echo и print «врезают» в документ информацию которую вы укажите в виде результата формулы, или просто текстом, и отправят через локальную сеть/интернет вам.

Сформулируйте просто вопрос по другому, до тех пор, пока не получите на него ответ

Olek1

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

В данном случае вы не отправляете никакие файлы из браузера, вы только их получаете, вы отправляете запросы, через GET / POST + URL документа в котором скрипт, и в ответ получаете готовый документ, который изменять в браузере уже не можете.

PHP намного проще чем вы думаете
cedacc5332fb4f76bcdf3693bde0ce36.jpg fe1fa45a2d604057aadf26b62e4d98f4.jpg

Источник

Как подключить PHP к HTML?

PHP — это встраиваемый серверный язык программирования. Большая часть его синтаксиса заимствована из C , Java и Perl . А также добавлена пара уникальных характерных только для PHP функций . Основная цель этого языка — создание динамически генерируемых PHP HTML страниц .

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 скрипт при открытии страницы

Добрый день!
У меня такая проблема:
Есть php скрипт, который несколькими потоками получает данные с другого домена.
Мне необходимо уменьшить время загрузки страницы, а точнее, чтобы этот скрипт начинал исполняться либо параллельно с загрузкой страницы, либо уже после её загрузки и выходные данные этого скрипта вставлялись в нужный div.
Использовать можно только jQuery или Prototype (с которыми я ещё не успел подружиться(()
Может Вы мне что-то посоветуете, т.к. задание очень срочное((

Минимум, что мне надо сделать — это чтобы после загрузки страницы в нужный div подгружались данные из php файла.

 "http://site1.ua", 1 => "http://site2.ua", 2 => "http://site3.ua", 3 => "http://site4.ua", 4 => "http://site5.ua", 5 => "http://site6.ua", 6 => "http://site7.ua", 7 => "http://site8.ua", 8 => "http://site9.ua", 9 => "http://site10.ua" ); for($i=0; $i<10;$i++)< $fp = fsockopen ("tinyurl.com", 80, $errno, $errstr, 30); if (!$fp) < echo "$errstr ($errno)
\n"; > else < fwrite($fp, "POST /api-create.php?url=".$arr[$i]." HTTP/1.1\r\nHost: tinyurl.com \r\n". //"Content-Type: application/x-www-form-urlencoded\r\n". "Content-Length: 0\r\n". "Connection: close\r\n\r\n" ); while (!feof($fp)) < echo strstr(fgets ($fp,128),"http://"); >echo ""; > >

Проблема в том, что если этот aJax код вставить в любой файл, то он работает, но у меня есть обязательное условие — этот код надо запустить на сайте, написанном на фрэймворке CodeIgniter. И вот тут-то и возникает проблема. Пробовал его вызывать и во вьювере, и в контроллере, и с полными путями, и с относительными. Кароче, не работает он на сайте, сделанном при помощи CodeIgniter’a((
Может кто сталкивался с такой проблемой?

Источник

Читайте также:  Посчитать число элементов массива php
Оцените статью