![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 06.09.2016
Сообщений: 199
|
![]()
Здравствуйте,
есть файл php (в нем html, js и php в одном файле). Как передать переменную js в этом файле в переменную php в этом же файле. P.S. разделить код на отдельные файлы html, js и php нет никакой возможности. Ребят нужно срочно, работа ![]() |
![]() |
![]() |
![]() |
#2 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
![]()
Тут вопрос - зачем это нужно ?
Если я правильно понимаю, то PHP выполняется на сервере, а JS - на клиенте. Так что мне не понятен смысл затеи. Грубо говоря, при выполнении JS не получится изменить то, что вы хотите изменить в PHP. Если другими словам - пока выполняется скрипт PHP, всё что находится в вашем JS-скрипте - это всего лишь текст, и там нет переменных, и не будет до тех пор, пока этот текст (JS-скрипт) не попадёт в браузер и не начнёт выполнение. UPD: подумал может полезно будет: я в PHP использую sprintf для форматирования некоторых элементов страницы перед отправкой на клиента. Но ещё раз - это работа с текстом.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 05.10.2018 в 07:04. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 06.09.2016
Сообщений: 199
|
![]()
Этот файл php итак находится на серваке,
выбираем из тега select имя, -> отправляем в php в этом же файле -> а скрипт php обращается c этим именем к mysql. |
![]() |
![]() |
![]() |
#4 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
![]()
dbalor, так речь о том что бы из JS выполнить запрос на сервер в PHP-скрипт ?
Если у вас один большой файл - то придётся сильно помучаться, что бы при запросе к PHP-скрипту из JS этот PHP-скрипт вернул только то, что нужно получить в JS ... Можно вначале PHP-скрипта сделать условия, по которым будет обработка и возврат нужных данных, а из JS эти условия нужно соблюсти. Проще сделать отдельный PHP-скрипт для запроса к нему из JS. Как выполнить запрос из JS - не знаю. RTFM.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 05.10.2018 в 07:33. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 06.09.2016
Сообщений: 199
|
![]()
Проблема в том что все это находится в одном файле php на серваке( код javascript из и php находятся в одном файле php):
php файл ![]() Код:
|
![]() |
![]() |
![]() |
#6 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
![]()
dbalor, это всё понятно ... Я не могу понять, понимаете ли вы последовательность выполняемых действий ...
0) Браузер делает запрос на сервер; 1) сервер отправляет страницу в браузер; 2) браузер получает страницу, пускает JS-скрипт на выполнение; 3) из JS-скрипта выполняется запрос в PHP-скрипт; 4) PHP-скрипт получает запрос, определяет что вызов произошёл не просто из браузера, а из самого скрипта, собственно обрабатывается запрос, возвращается результат, и при этом саму страницу возвращать не нужно; 5) JS-скрипт получает результат, и делает с ним что нужно. А ну да ещё, нужно так же позаботиться о том, что бы при пункте 1 не выполнился пункт 4 и не пытался обработать запрос JS-скрипта, так как запроса по пункту 3 на этапе выполнения пункта 1 ещё не существует.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 05.10.2018 в 08:08. |
![]() |
![]() |
![]() |
#7 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Цитата:
Но, если нужно что-то обработать на PHP после того, как загрузилась страница, можно из JS через стандартный HTTP протокол обратиться к серверу и передать туда необходимую информацию. Это можно делать даже без перезагрузки страницы, используя AJAX. А по основам почитайте, пожалуйста, Самые основы. Как работает PHP. если после этого вопросы останутся - Welcome! |
||
![]() |
![]() |
![]() |
#8 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
![]()
Вот я в своём проекте наткнулся на необходимость выполнять запросы из JavaScript - суть в том, что бы за счёт JS упростить реализацию функций добавления, изменения и удаления данных в БД. Но передаю я не коды запросов к БД, а сами данные, которые в свою очередь на сервере уже формируются в запросы, и выполняются. Это исключает возможность внедрения постороннего SQL-кода (SQL-инъекции).
Честно стыренный откуда-то код, который я подогнал под себя: Код:
1) я вывел отдельные PHP скрипты для обработки подобных запросов; сделать тоже самое, но через один единственный PHP-скрипт - это абсурд из разряда выстрелить себе в ногу, и не один раз; (хотя такое вполне возможно) 2) такой подход подразумевает возможность нарушения ограничений, которые (ограничения) предусмотрены для разграничения доступа к данным аля права и уровни доступа, которые (права и уровни доступа) имеются в моём проекте - собственно эту возможность нарушения я предусмотрел в отдельных выведенных PHP-скриптах, что ещё сильнее усложняет выполнение всего этого одним PHP-скриптом. P. S. Я всё это написал к тому, что нужно отделять мух от котлет, иначе получится лажа.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 10.10.2018 в 03:26. |
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 05.09.2017
Сообщений: 157
|
![]() Цитата:
А браузер уже исполняет яваскрипты и обрабатывает действия пользователя мышкой (как вы пишете "выбираем из тега select имя"). Если надо из браузера сделать яваскриптом запрос к PHP, надо использовать Ajax-запросы, как написал выше OmegaBerkut. Только new XMLHttpRequest() не кроссбраузерно, я бы задействовал jquery и не парился. То, что у вас PHP и JS в одном файле - не смертельно, просто неудобно. Делаете на ajax POST или GET запрос к вашему PHP-скрипту и получаете от него нужные данные. Вот пример куска PHP кода, который при POST-запросе к index.php и отправке tic=30&id=3 будет перезаписывать значение в БД: Код:
Код:
PS: Прошу не кидать тапками, это просто пример. Конечно, разрешать кому попало писать в БД аяксом небезопасно. Это можно только если ты авторизован. Кстати, Аякс должен автоматически посылать куки, включая авторизационные.
Безопасность с Content Security Policy
Последний раз редактировалось Ottava; 10.10.2018 в 03:33. |
|
![]() |
![]() |
![]() |
#10 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
![]() Цитата:
По вашему примеру мне не понятно, как с помощью jQuery организовать GET запрос, в прочем пока я в гугле. Мне нужно в синхронном режиме затолкать данные, получить код ответа, и в месте отправки запроса забрать результат. И да, разве jQuery полностью кроссбраузерный ? Если у меня одна вёрстка HTML+CSS в разных браузерах по разному рендерится, то что уж говорить об интерпретации исполняемого кода ...
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 10.10.2018 в 07:26. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Переменная PHP | Dina_93 | PHP | 11 | 17.04.2015 01:52 |
php Переменная опустошается | sir.andrey | Помощь студентам | 1 | 19.11.2012 16:06 |
переменная | vefer | Microsoft Office Word | 5 | 14.11.2011 20:11 |
Переменная в C# | bead | C# (си шарп) | 8 | 01.05.2011 12:32 |