вставить javascript в php код
Как вставить HTML, CSS и JS в PHP-код?
Когда вы разрабатываете свой модуль, то иногда прибегаете к помощи верстки (HTML и CSS) и дополнительным скриптам.
Все это можно подключать отдельно – что-то в теле страницы, что-то в отдельных файлах. Но некоторые дополнения лучше вставлять непосредственно в сам PHP-файл.
Сегодня я покажу два варианта, как можно вставить HTML, CSS или JavaScript в код PHP.
Первый вариант вставки элементов в PHP-код
Я думаю, что если вы хоть немного знакомы с PHP, то знаете, что такое «echo» (тег, с помощью которого вы можете вывести сообщение на экран).
Вот с помощью него и можно вывести один из перечисленных ранее кодов. Пример:
На что здесь стоит обратить внимание? Кавычки. Если вы используете внешние кавычки в виде » «, то внутренние кавычки элементов должны быть ‘ ‘ и наоборот, иначе вы получите ошибку. Если вы принципиально хотите использовать одинаковые и внешние, и внутренние кавычки, то во внутренних ставьте знак экранизации:
В этом случае все будет работать корректно.
Второй вариант вставки элементов в PHP-код
Этот вариант мне нравится куда больше, чем первый. Здесь мы будем также использовать «echo», как и в предыдущем варианте, но добавим еще элемент «HTML»:
Сюда вы можете вставлять любой элемент, будь то HTML-код или же JavaScript. Кавычки здесь не играют роли (можете вставить любые), а по желанию можно внедрить переменные для вывода:
Весьма удобный способ для реализации ваших идей.
Вставить javascript в php код
Люди, сорри за тупой вопрос, но как сделать такую банальную вещь, как вставить javascript код в PHP?
Уже не первый раз такой вопрос возникает, через echo вроде удавалось раньше. А тут не смог. Какой вообще общий принципе при «внедрении» javascript в PHP? Хочу разобраться в теме чтобы лишний раз глупые вопросы на задавать 🙂
echo «tut text \»tut escho text’ «;
echo ‘tut text \’tut escho text»‘;
1) Самый имхо кошерный. JS код в файл. В php файле
P.S.: Вариант «прослэшивать» кавычки конечно тоже вариант, но при объемном javascript коде с обоими типами кавычек (» и ‘) это достаточно напряжно.
Иногда невозможно вставить вне кода пхп т.к они могут быть зависимыми.
Использую прогу PHP Master Editor.
Выделяем текст заменить » на \».
Это не сильно долго.
Markig:
Иногда невозможно вставить вне кода пхп т.к они могут быть зависимыми.
Использую прогу PHP Master Editor.
Выделяем текст заменить » на \».
Это не сильно долго.
для этого есть способ #3 от edogs
edogs, для 1-го варианта, как должен выглядеть файл php с javascript кодом?
Unlock, просто яваскрипт код. Без лишних тэгов.
file_get_contents просто читает файл в переменную. А echo просто выводит содержимое переменной.
И всё это без доп. преобразований, обработки или еще чего-либо.
Видимо запутали php расширением? Сорри. Можно с тем же успехом (и возможно так даже лучше) положить в js.txt и использовать readfile(«js.txt»);
Поэтому никаких дополнительных ухищрений в файле с яваскриптом не нужно, тем и хорошо такое хранение. Опять же очень удобно всякие счетчики и прочее туда совать, что бы потом если что не менять пхп код.
PHP и JavaScript
— клиентский язык сценариев, который является очень эффективным средством решения многих задач, не требующих серверной обработки. Безусловно, JavaScript может применяться для создания далеко не всех приложений, поскольку в нем до сих пор не устранены некоторые недостатки, касающиеся удобства и простоты, а также защиты информации, но он предоставляет возможность использования таких сочетаний клиентского и серверного языков программирования, которые открывают целый ряд привлекательных функциональных возможностей.
В языках PHP и JavaScript предусмотрены разные объектные системы обозначений. В языке JavaScript используется так называемая уточняющая запись через точку в стиле C#, тогда как в языке PHP используются стрелки, иначе говоря, система обозначений в стиле C++. Язык JavaScript полностью объектно-ориентирован, тогда как в языке PHP объекты рассматриваются как необязательное средство. Такое различие систем обозначений имеет свое преимущество в том, что невозможно когда-либо спутать объект JavaScript с объектом PHP, или наоборот. А недостатком является то, что отсутствует возможность обратиться к одному и тому же объекту из обоих языков.
Вывод кода JavaScript с помощью сценария PHP
Язык PHP является серверным (поскольку для интерпретации кода на этом языке используется серверное приложение), а язык JavaScript — клиентским (аналогичное замечание), поэтому может показаться, что при использовании того и другого языка в одном и том же сценарии формирования страницы будут возникать проблемы. Но в действительности именно благодаря указанному различию эти два языка хорошо дополняют друг друга.
Безусловно, язык PHP обладает большими возможностями по созданию динамически формируемых веб-страниц, но PHP — исключительно серверный язык. К тому же есть одна общая категория задач, решаемых на веб-сайте, для которых чаще всего не требуется вся обрабатывающая мощь сервера, и поэтому эти задачи быстрее и проще решаются в клиентском программном обеспечении. К таким задачам, например, относится изменение внешнего вида кнопки при перемещении над ней курсора мыши. Для решения многих подобных задач можно легко применить язык JavaScript, который представляет собой чисто клиентский язык (безусловно, имеется и серверная версия этого языка, но предполагается, что для этой цели уже выбран язык PHP) и легко интегрируется с языком PHP.
С другой стороны, клиентский язык JavaScript сам по себе характеризуется многими ограничениями. Например, будучи клиентским языком, JavaScript не позволяет организовать непосредственное взаимодействие с базой данных, поэтому сценарии JavaScript не способны обновлять сами себя путем получения новых данных, зависящих от условий просмотра страницы.
Еще более важный недостаток состоит в том, что невозможно полностью полагаться на клиентские технологии, поскольку язык поддержки этих технологий может оказаться не установленным или запрещенным в браузере пользователя. Сознательные разработчики клиентских приложений для веб вынуждены либо выбирать вариант реализации кода наугад (и получать жалобы от пользователей менее распространенных браузеров), либо одновременно сопровождать несколько версий одного и того же сайта. (Несознательные разработчики просто берут за основу все возможности браузера, наиболее распространенного в среде пользователей, и, как один старый моряк, говорят: «К черту торпеды. «, но это — совсем другая история.) Язык PHP позволяет смягчить эффекты, связанные с неопределенностью поддержки клиентского программного обеспечения.
Широкие возможности вывода данных в языке PHP
Одной из наиболее важных особенностей языка PHP является то, что с его помощью можно обеспечить вывод кода в различных форматах. В частности, PHP может применяться (и применяется) для вывода открытого текста, кода HTML, XHTML, JavaScript, XML, MathML, файлов в различных графических форматах, кода CSS, XSL и даже (что трудно сначала представить себе) кода ASP.NET.
Кроме того, нет каких-либо реальных технических сложностей, которые не позволяли бы выводить с помощью языка PHP код C, хотя, по-видимому, такой способ применения PHP не находит слишком широкого распространения. Следует помнить, что язык PHP не используется исключительно для вывода кода HTML — конечным продуктом применения этого языка обычно становится код, предназначенный для обработки другим приложением, обычно браузером.
Для вывода кода JavaScript с помощью языка PHP может применяться целый ряд способов. Простейшим из них является выход из режима PHP каждый раз, когда требуется непосредственно включить какой-то текст в код страницы, передаваемый в клиентскую программу. Данный способ осуществляется точно по такому же принципу, как происходит выход из режима PHP для формирования кода HTML. Например:
Как и при формировании в сценарии PHP кода HTML, в некоторых случаях код JavaScript можно формировать, не выходя из режима PHP. К тому же подобный стиль организации работы сценариев PHP может соответствовать личным предпочтениям разработчика. В этом случае для вывода кода JavaScript может использоваться оператор echo или print языка PHP, как в следующем примере:
Стиль, в котором вывод кода JavaScript осуществляется полностью в режиме PHP, нельзя считать совсем неправильным, но при его использовании значительно затрудняется создание безошибочно действующих сценариев. Поэтому такой стиль следует отдать в распоряжение опытных программистов, а менее опытные программисты должны применять его исключительно в тех случаях, когда в код формируемой страницы требуется включить вызовы заранее определенных функций JavaScript, например, касающихся событий onsubmit.
Области применения языка JavaScript
Клиентский код JavaScript не обладает чрезвычайно большими функциональными возможностями, но позволяет быстрее решать некоторые задачи, а также создавать такие эффекты, которые довольно сложно воспроизвести с помощью PHP. Ниже перечислены такие функциональные средства кода, которые действительно следует дополнить или заменить в коде HTML-страницы функциями JavaScript:
Простые арифметические операции в формах и калькуляторах (такие как вычисление промежуточной суммы по товарам, собранным в тележку для покупок, и расчет платежей по ипотечной задолженности).
Простая проверка правильности формы (например, определение наличия символов @ в адресах электронной почты).
Реализация средств навигации сайта (например, создание разворачивающихся меню навигации).
Создание всплывающих меню (предупреждений, окон поиска).
Обработка событий, обнаруживаемых в браузере (mouseover, onclick).
Резервирование функциональных средств кода JavaScript с помощью кода PHP
Безусловно, как показывают приведенные выше рекомендации, язык JavaScript позволяет расширить функциональные возможности сайта, но если язык JavaScript не установлен в браузере или его использование запрещено, то компенсировать отсутствие поддержки JavaScript можно с помощью PHP. Дело в том, что иногда существует возможность безукоризненно выполнить одну и ту же задачу и с помощью клиентского, и с помощью серверного метода.
Если в браузере посетителя будет разрешено применение языка JavaScript, то посетитель получает возможность воспользоваться более быстрым методом. В противном случае применяется менее быстрый, резервный метод, но обычно посетители даже не замечают, что в коде сайта реализуется подобный выбор. А если бы не было возможности вместо кода JavaScript переходить к использованию кода PHP, то пользователи браузера без поддержки JavaScript были бы полностью лишены доступа к функциональным средствам сайта.
Идеальным примером резервирования кода JavaScript с помощью кода PHP является дважды зарезервированное разворачивающееся меню для навигации по страницам сайта без использования ссылок. Код JavaScript обеспечивает мгновенное перенаправление, а если в браузере не разрешено использование JavaScript, то в действие вступает код PHP, с помощью которого достигается такой же результат, но после более продолжительного ожидания.
В этом примере взят за основу тот факт, что в коде JavaScript имеются обработчики событий (например, onchange), которые выполняют свои действия в результате прохождения курсора над элементами формы HTML, поэтому фактически не требуют передачи данных формы щелчком на кнопке. Это означает, что кнопка Submit может быть зарезервирована для использования в коде PHP. В примере ниже показан сценарий формирования HTML-страницы, в котором используется перенаправление с помощью события onchange языка JavaScript, а если этот код не работает, то применяется обработчик формы PHP:
Обработка формы с помощью JavaScript
В файле обработчика формы PHP, называемом redirect.php, достаточно предусмотреть только две строки:
Аналогичное разделение труда можно предусмотреть при проверке правильности формы. Если разрешено использование языка JavaScript, то с его помощью можно убедиться в том, что номера телефонов имеют десять цифр, а адреса электронной почты включают и символ @ и еще какие-то символы. Если же применение JavaScript не разрешено, то можно написать небольшой сценарий PHP, который выполняет такие же действия при передаче данных формы и возвращает сообщение с предупреждением, если введенные значения являются неправильными.
Сравнение методов статического и динамического формирования кода JavaScript
Безусловно, статическая форма JavaScript — PHP, приведенная в примере выше, удобна для использования во многих приложениях, но она имеет один существенный недостаток — ее приходится сопровождать вручную. Каждый раз, когда потребуется добавить новую страницу к сайту, необходимо будет вспоминать о том, что ссылку на эту страницу необходимо ввести вручную в код формирования раскрывающегося списка. На первый взгляд может показаться, что в этом нет ничего особенного, но из массы таких мелочей складывается невероятно трудоемкая работа, когда приходится сопровождать огромный сайт с интенсивным трафиком.
Используя язык PHP в сочетании с базой данных, вы можете обеспечить автоматическое обновление определенной части кода JavaScript каждый раз после ввода новых данных в базу данных, иначе говоря, обеспечить динамическое обновление. К достижению такой цели следует стремиться при любой возможности, поскольку в долговременном плане это помогает экономить время. В примере ниже показано, как можно модифицировать форму, чтобы обеспечить лучшую интеграцию клиентского и серверного кода:
Исходная страница с динамически генерируемой формой
Несомненно, читатель уже понял, что аналогичный метод может оказаться буквально бесценным, даже если создается простая форма JavaScript (например, такая, в которой используется обработчик событий onsubmit, а не onchange). В частности, этот метод позволяет модифицировать вызовы обычных функций JavaScript, поскольку язык PHP позволяет изменять значения переменных в вызове функции, до того как код этого вызова будет отправлен в браузер. Поэтому при желании сценарии PHP могут использоваться непосредственно для вывода кода JavaScript, в котором предварительно осуществляется подстановка значений переменных, взятых из какого-то источника данных.
Передача данных в обратном направлении, из кода JavaScript в код PHP
Наконец, рассмотрим, как завершить цикл обработки данных, снова передав значения формы в код PHP из кода JavaScript. В примере ниже показано, как использовать код JavaScript, для передачи в сценарий PHP простого объекта:
Передача объекта из кода JavaScript в код PHP с использованием формата JSON Взаимодействие JavaScript и PHP Безопасность PHP и XML
Как вызвать функцию JavaScript из PHP?
как вызвать функцию JavaScript из PHP?
следующий код xyz.HTML-код (при нажатии кнопки) он вызывает wait() внешний xyz.js. Это wait() вызовы подождать.РНР.
здесь loadxml() вызывает код из другого файла PHP таким же образом.
на loadxml() работает нормально, в противном случае, но это не называется так, как я хочу он.
11 ответов
что касается PHP (или действительно, веб-сервера в целом), HTML-страница не более сложна, чем большая строка.
ваша большая строка HTML не станет чем-то более особенным, пока она не будет загружена веб-браузером. После загрузки страницы браузером, затем все остальное волшебство происходит-макет, модель коробки, генерация DOM и многое другое, включая выполнение JavaScript.
Итак, вы не «вызываете JavaScript из PHP», вы»включаете вызов функции JavaScript в свой вывод».
есть много способов сделать это, но вот пара.
используя только PHP:
выход из режима php в режим прямого вывода:
вам не нужно возвращать имя функции или что-то в этом роде. Прежде всего, прекратите писать AJAX-запросы вручную. Ты только усложняешь себе жизнь. Получите jQuery или один из других отличных фреймворков.
во-вторых, поймите, что вы уже собираетесь выполнять код javascript после получения ответа от вызова AJAX.
вот пример того, что я думаю, что вы делаете с AJAX jQuery
теперь, если вы мертвы-установите на отправку функции имя из PHP обратно в вызов AJAX, вы можете сделать это тоже.
* или JSON или XML etc.
Я всегда просто использовать echo «»; или что-то подобное. вы технически не вызываете функцию в PHP, но это так близко, как вы собираетесь получить.
per now (февраль 2012) для этого есть новая функция. Проверка здесь
пример кода (взято из интернета):
ты не можешь. Вы можете вызвать функцию JS из HTML вывести PHP, но это совсем другое дело.
Это невозможно. PHP-это серверный язык и клиентская сторона JavaScript, и они действительно мало знают друг о друге. Вам понадобится серверный интерпретатор JavaScript (например, Aptanas Jaxer). Возможно, вы действительно хотите использовать архитектуру Ajax (функция JavaScript вызывает PHP-скрипт асинхронно и делает что-то с результатом).
Если вы хотите повторить его для последующего выполнения, это нормально
Если вы хотите выполнить JS и использовать результаты в PHP, используйте V8JS
вы можете сослаться здесь для более дальнеишей справки: что такое расширения в php v8js?
Если вы хотите выполнить HTML&JS и использовать вывод в PHPhttp://htmlunit.sourceforge.net/ ваше решение
PHP работает на сервере. JavaScript выполняется на клиенте. Поэтому php не может вызвать функцию JavaScript.
вы не можете быть в состоянии непосредственно сделать это, но Xajax библиотека довольно близко к тому, что вы хотите. Я продемонстрирую на примере. Вот кнопка на веб-странице:
подумайте об этом на минуту. Мы фактически вызываем функцию PHP из кода Javascript! Этот упрощенный пример был просто для того, чтобы подогреть аппетит, лучшее объяснение находится на сайте Xajax, получайте удовольствие!
Если вы хотите вызвать метод внутри echo, вы должны заключить их в одинарные кавычки:
Как в условие if php вставить js?
Как в условие if php вставить js?
И посмотрите верно ли я if прописсал?
30 строк когда, а читать его невозможно.
можно в условие js пихнуть данные из php
хотя такую валидацию лучше делать через ajax call
Предположим, все выше сказанные термины страшны для вас или не знакомы. И проект не супер важен, то можно сделать по другому.
Все эти переменные от php запихать в инпут
И уже в js брать значения из этих полей и проверять их.
Говорю сразу, это вариант не супер надежный, особенно если работаете с конфиденциальными данными. ТОда конечно же ajax, к примеру.
Но как один из вариантов.