Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Запуск PHP скрипта (https://javascript.ru/forum/events/76289-zapusk-php-skripta.html)

Conus 22.12.2018 17:26

Запуск PHP скрипта
 
Доброго дня всем,
запускаю в котором есть PHP скрипт
выполняется php при загрузке сайта
а мне надо чтобы PHP выполнялся при условии



function answer() 
{ try { return <?=  json_encode( array() )  ?>;   }
 catch(e) { return   '  ошибка ' + e }    
}

 if(event.which == 1) {  var x =  answer(); alert(x ) }  else { ... } 
// если клавиша нажата то запрос если нет  ...

рад помощи
спасибо

laimas 22.12.2018 17:40

Цитата:

Сообщение от Conus
а мне надо чтобы PHP выполнялся при условии

А клиент тут причем? И РНР код <? json_encode( db::New($modx->documentName)->db ) ?>; ничего не дает, если только не так: <?=json_encode( db::New($modx->documentName)->db ) ?>

Conus 22.12.2018 17:55

малость ошибся но вас совсем не понял
переписал код выше

дело в том что если нет опыта то в ответы не дрочи

Варианты собрать строку, варианты eval(), можно отправит пост в php выполнить условие
но все это не мастерство
а вам чтоб дава-ло обязательно, на веру возьмите условный массив

laimas 22.12.2018 18:09

Цитата:

Сообщение от Conus
дело в том что если нет опыта то в ответы не дрочи

Слушай, опытный, не пори хрени, написана дурь полнейшая, да еще и хочется выполнить РНР после работы JS.

Conus 22.12.2018 18:23

теряйся, помощник не реальный

laimas 22.12.2018 18:37

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

NikolasGrad 22.12.2018 23:17

По-любому надо делать AJAX-запрос, иначе
<? echo json_encode( array(1,a,3,c) ) ?>
будет заменяться строкой
[1,a,3,c]
перед загрузкой статично.

Conus 23.12.2018 10:06

Что вы как роботы думаете, Ошибка! отлично мне подходит
var  str = "<" + "?= 'ok'  ?" + ">";
if(true)  {  var x = eval('(' + str + ')');  alert(x) }

Conus 23.12.2018 16:08

http://qaru.site/questions/75178/exe...rieved-by-ajax

laimas 23.12.2018 17:12

Conus, это выполнение JS кода, который запрашивается у сервера клиентом. А "а мне надо чтобы PHP выполнялся при условии" и условие задается клиентом, это бред, нет на клиенте РНР. Учитесь формулировать вопросы.

Conus 23.12.2018 19:40

так вот и я о том же, с позиции js п Аш П lдолжен быть отработан и пропарсин на ява, Ага щас
разжую толь-ко

RX200 26.12.2018 19:25

А чем уже предложенный запрос Аяксом не годится? Ведь ПШП может только дать ответ стороне клиента, в этом смысле все что может ПШП на стороне клиента может и Яваскрипт и даже больше. А то что вы писали
var x = eval('(' + str + ')');  alert(x)
Если str содержит код ПШП то отправьте str ПШП скрипту который уже и сделает свой ПШП eval а в var x запишите ответ с сервера. Делается это Аяксом легко, хоть синхронно, если нужно дождаться ответа, хоть асинхронно.

laimas 26.12.2018 19:29

Цитата:

Сообщение от RX200
в этом смысле все что может ПШП на стороне клиента

А что может РНР на стороне клиента?

RX200 26.12.2018 19:35

Цитата:

Сообщение от laimas (Сообщение 501051)
А что может РНР на стороне клиента?

В каком смысле?

laimas 26.12.2018 19:55

Цитата:

Сообщение от RX200
В каком смысле?

Не знаю, это же не я такое написал, а вы. ;)

RX200 26.12.2018 20:03

Цитата:

Сообщение от laimas (Сообщение 501055)
Не знаю, это же не я такое написал, а вы. ;)

Я имел в виду формирование страницы, в конечном смысле работы ПШП, на стороне клиента, это может и ЯваСкрипт. То есть ясно что он работает не на стороне клиента, но смысл его работы на стороне клиента страница.

laimas 26.12.2018 20:06

Цитата:

Сообщение от RX200
Я имел в виду формирование страницы

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

RX200 26.12.2018 20:26

Цитата:

Сообщение от laimas (Сообщение 501058)
он о клиенте знает только по былинам описанным в функциях. :)

Не по былинам а по заголовкам запроса:) и по тому что ему сообщит клиент, а если клиент не браузер, или, браузер с плагином, то в принципе все что хочет то и знает. Только для этих целей ПШП на мой скромный взгляд уже не очень годится.

laimas 26.12.2018 21:04

Цитата:

Сообщение от RX200
Только для этих целей ПШП на мой скромный взгляд уже не очень годится

РНР вообще изолирован от клиента и общается с ним через сервер (Апач или иной), выплевывая ему все что он сотворил и принимая от него что клиенту хочется.

RX200 26.12.2018 21:39

Цитата:

Сообщение от laimas
РНР вообще изолирован от клиента и общается с ним через сервер (Апач или иной), выплевывая ему все что он сотворил и принимая от него что клиенту хочется.

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

laimas 26.12.2018 21:53

Цитата:

Сообщение от RX200
Так что то что ПШП ни чего не может на стороне клиента это как посмотреть и в каком смысле

В любом смысле - нет на клиенте РНР, ничего на клиенте он сделать не может. Да и задачи у него совсем иные, работает он совсем с иными объектами. А как там связь происходит, по проводам ли медленно электронами или быстро нарочитым на лошадях, это не важно. В разных деревнях живут РНР и JS, и каждый может только что-то просить, а выполнять придется каждому своими инструментами и исключительно в своем огороде. ;)

PS. Понятно не охота пальцы утруждать, но так же без переключения на инглиш можно написать аббревиатуру: РНР - это рус, PHP - это en (заметна разница?), вместо ПШП, хорошо, что не ППШ. :)

RX200 26.12.2018 22:35

Цитата:

Сообщение от laimas
В любом смысле - нет на клиенте РНР, ничего на клиенте он сделать не может. Да и задачи у него совсем иные, работает он совсем с иными объектами. А как там связь происходит, по проводам ли медленно электронами или быстро нарочитым на лошадях, это не важно. В разных деревнях живут РНР и JS, и каждый может только что-то просить, а выполнять придется каждому своими инструментами и исключительно в своем огороде.

Вот далеко ходить за примером не пришлось, из Википедии. :)
https://ru.wikipedia.org/wiki/PHP
Цитата:

Режимы запуска интерпретатора (SAPI)
4. В качестве скрипта командной строки (CLI SAPI), являющегося исполняемым файлом, который вызывается пользователем из командной строки; скрипт выполняется в окружении вызвавшего пользователя. В этом случае возможно использование PHP для создания клиентских GUI-приложений[36] и решения административных задач в операционных системах UNIX, Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript.
Так что в качестве плагина мы его можем и в браузер вставить, и будут ЯваСкрипт и ПШП в одном огороде. :)
А то что у РНР задачи традиционно совсем другие с этим я полностью согласен:)

laimas 26.12.2018 22:41

Цитата:

Сообщение от RX200
Так что в качестве плагина мы его можем и в браузер вставить

Ну-ну, вставляйте, желаю успехов. Только не надо пудрить мозги, а то так и будут продолжаться вопросы как в этой теме, которые по сути чистый бред. :)

RX200 26.12.2018 22:55

Цитата:

Сообщение от laimas
Ну-ну, вставляйте, желаю успехов.

Вот не надо я не утверждал что собираюсь использовать ПШП на стороне клиента, а говорил о возможностях, постольку по скольку об этом зашел разговор.


Часовой пояс GMT +3, время: 04:27.