powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Подскажите, как поступить
16 сообщений из 16, страница 1 из 1
Подскажите, как поступить
    #36245564
Ratty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток!

Мне нужно по событию OnClick создать и передать переменную из javascript в php. Мой обработчик:

onClick="window.location.reload();"

Так вот, как перед перезагрукой страницы создать и передать переменную например x = "Hello" в php? И после ловить ее в php
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36245582
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
document.location.href="мой_урл?par=Hello"
А ловить в пхп: $_REQUEST['par']
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36245758
Ratty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergedocument.location.href="мой_урл?par=Hello"
А ловить в пхп: $_REQUEST['par']

Такой вариант к сожалению не подойдет. Дело в том, что при выполнении document.location.href="мой_урл?par=Hello" страница не просто обновляется (как нужно) а переходит на указанный адрес. И в принципе все хорошо.

Но, при загрузке моего скрипта, по умолчанию, происходит выборка всех записей из БД. А если я сделал выборку по определенному столбцу и добавляю document.location.href="мой_урл?par=Hello" то снова происходит выборка всех записей из БД и моя выборка по определенному параметру пропадает.

Поэтому мне необходимо добавить новую переменную и просто обновить страницу, а не указать путь. Что то вроде

onClick="
// добавляет переменную;
document.location.reload();"

В том то вся и заморочка
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36245803
Ratty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть идея:

onClick="

//добавляем переменную x;

var x = "Hello, world!"

// перезагружаем страницу

document.location.reload();"


Но как теперь в php проверить, существует ли переменная ч? И если существвует то $x=x;

Можно ли так сделать? И как?
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36245813
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думается мне, что при перезагрузке страницы переменная х у вас всё ж таки не существует))
Лучше сформулируйте более чётко чего вы хотите добиться...а то как-то не очень понятно это
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36245858
Ratty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmilRegis,

Значит так...

Есть таблица, при загрузке страницы выборка

$sql = mysql_query("Select * From MyTable Order by id $x limit 100",$db);

Я хочу чтобы при щелчке по имени поля (в данном случае id) происходила сортировка (ASC;DESC)

Логика:

При нажатии на имя поля таблицы приисходит

onClick="
//добавляем переменную x
var x = "ASC"
// перезагружаем страницу
document.location.reload();"

onDblClick="
//добавляем переменную x
var x = "DESC"
// перезагружаем страницу
document.location.reload();"

После этого нужно присвоить $x = x; если x пуст то $x = "DESC"; выполняется вышеуказанный запрос:

$sql = mysql_query("Select * From MyTable Order by id $x limit 100",$db);
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36245875
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ratty , как вариант использовать скрытые переменные... Вот пример на CSP, для PHP приведите аналог.
Такая переменная будет читаться и скриптом и серверным языком, а "простая" переменная (как в твоей идее) "помрет" после перезагрузки страницы

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
...
<input type='hidden' id='MyParam' name='myparam' val='#($g(%request.Data("myparam",1)))#'>
...
<script language='cache' runat='server'>
...
   if $g(%request.Data("myparam", 1 )) {
      // Вывод данных "так"
   } else {
      // Вывод данных "эдак"
   }
...
</script>
...
<script type='text/javascript'>
...
function Reload(MyParam) // Обработчик для onclick()
...
   document.getElementById('MyParam').value=MyParam
   document.submit()
...
</script>
...

Что-то вот такое...
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36245879
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так параметр par фактически у вас будет true или false...
Если true - то asc, если false то desc...
при событии onclick пишете $x = !$x (или как там это пишется в пхп))))
и спокойно переходите document.location.href="мой_урл?par=$x

к сожаление с пхп давно не имел дело, поэтому не помню так ли просто в js получить пхпшную переменную
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36245915
Ratty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmilRegis,

В моем случае document.location.href="мой_урл?par=$x использовать нельзя, выше я писал почему
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36245923
Ratty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

С CSP я вообще незнаком, но попробую переделать ваш алгоритм
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36246100
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RattyС CSP я вообще незнаком

А я, к сожалению, с ПХП... Но они (все) похожи по подходу.

Это метод вернет значение переменной myparam из url...
Код: plaintext
%request.Data("myparam", 1 )

Эта конструкция позволит засунуть значение метода в значение скриптовуй переменной
Код: plaintext
... val='#($g(%request.Data("myparam",1)))#' ...

Остальное т.с. дело техники...
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36246658
Ratty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за ответы! Все таки придется использовать
Код: plaintext
document.location.href="мой_урл?par=$x
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36246720
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор - дай пожалуйста адрес твоего сайта! очень хочу попробовать
http://мой_урл?par=Name; Delete From MyTable; Select * From MyTable
Как ты думаешь, что я получу в ответ?
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36246728
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зевс - злой бог. Подсовывает sql-injection.
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36246777
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я ничего не подсовываю, это ратти херню пишет
а вот если с инъекции ещё и контроль над веб сервером получить и потом спам рассылать - вот за это точно накажут программера
...
Рейтинг: 0 / 0
Подскажите, как поступить
    #36246880
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читаю пример инъекции и думаю - ну Зевс дает, так же не будет работать... Потом осознала, что так не будет работать на моих проектах. Ибо волшебный модуль CGI.pm, который я пользую, считает, что амперсанд в качестве разделителя - это уже не модно, и надо использовать точку с запятой, и в итоге ; обрабатывается как & . Они называют это newstyle_urls, а я когда-то мозг себе сломала, пытаясь понять, какого рожна у меня текстовая строка обрезается. В пхп тоже, кстати, можно задать в конфиге свои разделители, и обычно в манах дается пример разделители="&;". Диагноз - %3B.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Подскажите, как поступить
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]