Форум об интернет-маркетинге
Вернуться   Форум об интернет-маркетинге > Технические вопросы > Веб-строительство

Ответ
 
Опции темы
Старый 12.10.2022, 16:16   #21
vastmanager
ОПТимизирую оптом.
Академик
 
Аватар для vastmanager
 
Регистрация: 26.06.2020
Сообщений: 1,162
Сказал(а) спасибо: 1,374
Получил(а) "Спасибо": 3,056
Нарушения: 0/0 (0)
Репутация: 762908

По умолчанию Re: что за прикол ошибка php?

Цитата:
Сообщение от seokotov Посмотреть сообщение
PHP код:
if($_GET['types']) { $filterz[] = 'types='.$_GET['types']; } 
che.php : 7) PHP warning: Undefined array key "types"

на другом сайте работет этот же код а тут выкидоны, даже версии php
7.4.28 где работает
7.4.32 неработает
Код прикольный. Вы что, веб-шелл изобретаете, через удалённое выполнение команд посредством $_GET ?
vastmanager вне форума   Ответить с цитированием
Старый 13.10.2022, 06:05   #22
Неуч
Senior Member
Доцент
 
Регистрация: 24.05.2021
Сообщений: 220
Сказал(а) спасибо: 1,058
Получил(а) "Спасибо": 669
Нарушения: 0/0 (0)
Репутация: 1123491

По умолчанию Re: что за прикол ошибка php?

Цитата:
Сообщение от seokotov Посмотреть сообщение
думаю примерно так
Код:
$where = '';
if(isset($_GET['types'])) $where = $where.'types='.$_GET['types'].',';
if(isset($_GET['config'])) $where = $where.'config'.$_GET['config'].',';
if(isset($_GET['style'])) $where = $where.'style'.$_GET['style'].',';
if(isset($_GET['fasad'])) $where = $where.'fasad'.$_GET['fasad'].',';

var_dump($where);

/*
[[pdoResources? 
     &where = `published=1,deleted=0,createdby=12`
     ...
]]
*/
Самое простое решение )))) Возможно последнюю запятую (после всех условия) нужно удалить, но это не точно.

Ну и если надо в json:
Код:
$where = array();
if(isset($_GET['types'])) $where['types'] = $_GET['types'];
if(isset($_GET['config'])) $where['config'] = $_GET['config'];
if(isset($_GET['style'])) $where['style'] = $_GET['style'];
if(isset($_GET['fasad'])) $where['fasad'] = $_GET['fasad'];

/*вообще не уверен что условие ниже нужно. Вполне вероятно что будет работает и без него, просто сразу $where = json_encode($where); */
if(!empty($where)) {
	$where = json_encode($where);
} else {
	$where = '';
}

var_dump($where);
Неуч вне форума   Ответить с цитированием
Старый 13.10.2022, 09:33   #23
seokotov
se ксенофоб
Доцент
 
Аватар для seokotov
 
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076

Thread Starter Re: что за прикол ошибка php?

Цитата:
Сообщение от Неуч Посмотреть сообщение
Код:
$where = '';
if(isset($_GET['types'])) $where = $where.'types='.$_GET['types'].',';
if(isset($_GET['config'])) $where = $where.'config'.$_GET['config'].',';
if(isset($_GET['style'])) $where = $where.'style'.$_GET['style'].',';
if(isset($_GET['fasad'])) $where = $where.'fasad'.$_GET['fasad'].',';

var_dump($where);

/*
[[pdoResources? 
     &where = `published=1,deleted=0,createdby=12`
     ...
]]
*/
Самое простое решение )))) Возможно последнюю запятую (после всех условия) нужно удалить, но это не точно.

Ну и если надо в json:
Код:
$where = array();
if(isset($_GET['types'])) $where['types'] = $_GET['types'];
if(isset($_GET['config'])) $where['config'] = $_GET['config'];
if(isset($_GET['style'])) $where['style'] = $_GET['style'];
if(isset($_GET['fasad'])) $where['fasad'] = $_GET['fasad'];

/*вообще не уверен что условие ниже нужно. Вполне вероятно что будет работает и без него, просто сразу $where = json_encode($where); */
if(!empty($where)) {
	$where = json_encode($where);
} else {
	$where = '';
}

var_dump($where);
первый вариант не але, а второй странно, но ничего не изменилось вобщем то
seokotov вне форума   Ответить с цитированием
Старый 13.10.2022, 10:12   #24
Неуч
Senior Member
Доцент
 
Регистрация: 24.05.2021
Сообщений: 220
Сказал(а) спасибо: 1,058
Получил(а) "Спасибо": 669
Нарушения: 0/0 (0)
Репутация: 1123491

По умолчанию Re: что за прикол ошибка php?

Цитата:
Сообщение от seokotov Посмотреть сообщение
первый вариант не але, а второй странно, но ничего не изменилось вобщем то
1) Создаешь сниппет.
2) Вместе вардамп - пишешь return $where или echo $where (я уже забыл как надо, давно ничего не делал на modx)
3) [[pdoResources?
&where = `[[!название сниппета]]`
...
]]

Ну и конечно, вполне вероятно, тебе надо включить tv поля (includeTV или как то так параметр).
Неуч вне форума   Ответить с цитированием
Сказали спасибо:
Старый 13.10.2022, 16:31   #25
seokotov
se ксенофоб
Доцент
 
Аватар для seokotov
 
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076

Thread Starter Re: что за прикол ошибка php?

Цитата:
Сообщение от Неуч Посмотреть сообщение
1) Создаешь сниппет.
2) Вместе вардамп - пишешь return $where или echo $where (я уже забыл как надо, давно ничего не делал на modx)
3) [[pdoResources?
&where = `[[!название сниппета]]`
...
]]

Ну и конечно, вполне вероятно, тебе надо включить tv поля (includeTV или как то так параметр).
выводить то выводит и после нажатия но фильтрации не происходит
но выглядит конечно более работающим )))))
вот тут
seokotov вне форума   Ответить с цитированием
Старый 13.10.2022, 17:37   #26
Неуч
Senior Member
Доцент
 
Регистрация: 24.05.2021
Сообщений: 220
Сказал(а) спасибо: 1,058
Получил(а) "Спасибо": 669
Нарушения: 0/0 (0)
Репутация: 1123491

По умолчанию Re: что за прикол ошибка php?

Цитата:
Сообщение от seokotov Посмотреть сообщение
выводить то выводит и после нажатия но фильтрации не происходит
но выглядит конечно более работающим )))))
Сорь, но далее подсказать не могу) надо прям смотреть что и как сделано и почему не работает.
Лок'тар огар!
Неуч вне форума   Ответить с цитированием
Старый 13.10.2022, 18:20   #27
seokotov
se ксенофоб
Доцент
 
Аватар для seokotov
 
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076

Thread Starter Re: что за прикол ошибка php?

Цитата:
Сообщение от Неуч Посмотреть сообщение
Сорь, но далее подсказать не могу) надо прям смотреть что и как сделано и почему не работает.
echo where это выдает
Код:
{"types":"1","config":"2","style":"1","fasad":"1"}
seokotov вне форума   Ответить с цитированием
Старый 13.10.2022, 18:37   #28
Неуч
Senior Member
Доцент
 
Регистрация: 24.05.2021
Сообщений: 220
Сказал(а) спасибо: 1,058
Получил(а) "Спасибо": 669
Нарушения: 0/0 (0)
Репутация: 1123491

По умолчанию Re: что за прикол ошибка php?

Цитата:
Сообщение от seokotov Посмотреть сообщение
echo where это выдает
Код:
{"types":"1","config":"2","style":"1","fasad":"1"}
Да это то понятно. Там надо смотреть как называются твои поля, надо смотреть в каком виде надо передавать что б была фильтрация по этим полям, да банально все параметры, которые есть в пдоресурс. В каких то местах тв поля надо было передавать вида tv.filds и т. П. Я уже всего этого не помню, надо курить документацию модикса
Неуч вне форума   Ответить с цитированием
Старый 18.10.2022, 09:51   #29
seokotov
se ксенофоб
Доцент
 
Аватар для seokotov
 
Регистрация: 14.07.2020
Адрес: Севастополь, Россия
Сообщений: 173
Сказал(а) спасибо: 127
Получил(а) "Спасибо": 33
Нарушения: 0/0 (0)
Репутация: 28076

Thread Starter Re: что за прикол ошибка php?

а как привести к такому виду?
Код:
&tvFilters=`filter2==one,filter1==bar%||filter1==foo`
то есть к
filter2==1,filter1==2
seokotov вне форума   Ответить с цитированием
Старый 18.10.2022, 10:25   #30
Неуч
Senior Member
Доцент
 
Регистрация: 24.05.2021
Сообщений: 220
Сказал(а) спасибо: 1,058
Получил(а) "Спасибо": 669
Нарушения: 0/0 (0)
Репутация: 1123491

По умолчанию Re: что за прикол ошибка php?

Цитата:
Сообщение от seokotov Посмотреть сообщение
а как привести к такому виду?
Код:
&tvFilters=`filter2==one,filter1==bar%||filter1==foo`
то есть к
filter2==1,filter1==2
Я ж отвечал уже:
Код:
$where = '';
if(isset($_GET['types'])) $where = $where.'types='.$_GET['types'].',';
if(isset($_GET['config'])) $where = $where.'config'.$_GET['config'].',';
if(isset($_GET['style'])) $where = $where.'style'.$_GET['style'].',';
if(isset($_GET['fasad'])) $where = $where.'fasad'.$_GET['fasad'].',';

if($where !=='') $where = substr($where,0,-1);

var_dump($where);
Неуч вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в Гугл Отсутствует поле url rty9000 Гугл и другие поисковики 44 11.01.2021 21:26
Ошибка почтового домена Geers Курилка 7 10.11.2020 02:54
Ошибка - MySQL query error [1615]: Prepared statement needs to be re-prepared sanek1991 Хостинг и домены 19 29.07.2020 19:24
Ошибка установки соединения с базой данных Юрий Петрович Веб-строительство 8 06.07.2020 21:22


Текущее время: 04:05. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot