Замечания при работе скрипта.

#
Замечания при работе скрипта.
Добрый день.
Создал типовую динамическую страницу. В ней написал скрипт (php).
После запуска скрипта появились "замечания" - http://market-usa.ru/ebay/
Если скрипт запускать отдельно без создания типовй динамической страницы, то все работает нормально - http://market-usa.ru/bay/

Подскажите пожалуйста как избавиться от "замечаний"? В чем может быть причина?
Модератор
#
Re: Замечания при работе скрипта.
sash2,
Система критично относится к ошибкам, соответственно мы их не прячем в песок, как делают другие системы. Если у Вас неизвестные индексы - это вина не системы, а подключаемого внешнего модуля. Нужно корректно его написать и будет счастье.
#
Re: Замечания при работе скрипта.
Не могу понять в чем ошибка
ЗАМЕЧАНИЕ: Undefined index: ItemSort в файле /home/marketus/public_html/bay/classes/class.ebay.php (строка 48)

Скрипт:

48:             if($_GET["ItemSort"] == "") {
49:          $sorturl = "";
50:       } else {
51:          $sorturl = "&ItemSort=".$_GET
52: ["ItemSort"]."&SortOrder=".$_GET["SortOrder"];
      }
#
Re: Замечания при работе скрипта.
проверяйте существование переменной...чтобы по минимуму вмешиваться в код можно в начале скрипта добавить конструкцию

if (isset($_GET["ItemSort"]))
{
$_GET["ItemSort"] =  to_int($_GET["ItemSort"]);
}
else {
$_GET["ItemSort"] =  '';
}


и так для каждой переменной
to_int - для обработки чисел

если есть строковые переменные, используйте другие ф-ции
#
Re: Замечания при работе скрипта.
h4mpy, спасибо. Помогло!
Модератор
#
Re: Замечания при работе скрипта.
sash2,
еще у системы есть функции to_..., более подробно в руководстве по разработке модулей, стр. 29
Не забывайте про приведение к нужному типу и защиту от SQL-инъекций, в системе для этого все механизмы есть.
#
Re: Замечания при работе скрипта.
Извиняюсь конечно. Но не могу дальше справится с предупреждениями.
Если не трудно подскажите как от них избавиться?

ЗАМЕЧАНИЕ: Undefined variable: pricemin в файле /home/marketus/public_html/bay/classes/class.ebay.php (строка 88)
ЗАМЕЧАНИЕ: Undefined index: в файле /home/marketus/public_html/bay/classes/class.ebay.php (строка 88)
ЗАМЕЧАНИЕ: Undefined variable: pricemax в файле /home/marketus/public_html/bay/classes/class.ebay.php (строка 88)
ЗАМЕЧАНИЕ: Undefined index: в файле /home/marketus/public_html/bay/classes/class.ebay.php (строка 88)
ЗАМЕЧАНИЕ: Undefined variable: sorturl в файле /home/marketus/public_html/bay/classes/class.ebay.php (строка 88)

$url = "http://open.api.ebay.com/Shopping?callname=FindItemsAdvanced".$queryurl.$pricemin.$pricemax.$sorturl."&MaxEntries=".$total."&appid=".$appid."&version=533&PageNumber=".$pageNumber."&siteid=0".$caturl;


ЗАМЕЧАНИЕ: Undefined index: SearchResult в файле /home/marketus/public_html/bay/classes/class.ebay.php (строка 97)

$listing["lots"] = $content_arr['FindItemsAdvancedResponse']['SearchResult']['ItemArray']['Item'];


ЗАМЕЧАНИЕ: Undefined index: category в файле /home/marketus/public_html/bay/templates/ebay.listing.php (строка 13)

<input type="hidden" name="category" value="<?=$_GET["category"]?>">


Модератор
#
Re: Замечания при работе скрипта.
sash2,
У Вас написано, что переменные неопределены. Я вижу, что указывается в строке $pricemin, а вот где у Вас эта переменная определена?

sash2 писал(а):
ЗАМЕЧАНИЕ: Undefined index: SearchResult в файле /home/marketus/public_html/bay/classes/class.ebay.php (строка 97)

В массиве $content_arr['FindItemsAdvancedResponse'] индекса 'SearchResult' нет. Распечатайте массив и посмотрите, что в нем есть:
print_r($content_arr);


sash2 писал(а):
ЗАМЕЧАНИЕ: Undefined index: category в файле /home/marketus/public_html/bay/templates/ebay.listing.php (строка 13)

<input type="hidden" name="category" value="<?=$_GET["category"]?>">

Здесь как минимум XSS-атака возможна, а ошибка возникает из-за того, что методом GET не передается элемент category
Авторизация