Дизайн и Верстка > Обсуждение сайтов
попробуйте вызвать ошибку (disctorg.ru)
gigipah:
а тестером вроди ещё и платят....)))))
Forza:
Смешно.
Мне не нужен тест основных возможностей сайта - я их сам проверял кучу раз. Мне желателен тест некоторых исключительных ситуаций, о которых я просто не могу догадываться (те, о которых догадался, уже проверены).
Green Kakadu:
не ошибки, а просто интересно.
Если при GET-передаче самостоятельно поменять id с такого
id=2272
на такой: "id=2272,любая лабуда"
то в общем-то все работает - он показывает страницы нужного товара (id=2272) но при этом таскает за собой "подпорченный" id. Если добавить товар с таким ид в корзину, потом тому же товару опять подправить ид, и опять внести его в корзину, то с точки зрения скрипта - это два разных продукта, хотя инфу он по ним выдает нормально
Вопрос: интересно, как ты делаешь выборку товара по id? И проверяешь его на "правильность" (напр.,только цифры?)
если задать ид не существуещего товара не проще ли выкинуть страницу, что такого id не существует?
2. при поиске ИМХО стоит сделать ограничения на кол-во слов в запросе и на длину запроса, хотя смортя как ты это реализовал. Я надеюсь она не лопатит базу по каждому слову..
поиск по CD как я понял в разработке
пример (можно и подлинее):
http://www.disctorg.ru/cgi-bin/index.pl?dvd_keywords=%E4%E8%F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+%E2+2+3+4+5+:+7+*+9+0+ваава+%FB%F4&choice=search_dvd
Forza:
--- Цитировать ---Green Kakadu:
Если при GET-передаче самостоятельно поменять id с такого
id=2272
на такой: "id=2272,любая лабуда"
то в общем-то все работает - он показывает страницы нужного товара (id=2272) но при этом таскает за собой "подпорченный" id. Если добавить товар с таким ид в корзину, потом тому же товару опять подправить ид, и опять внести его в корзину, то с точки зрения скрипта - это два разных продукта, хотя инфу он по ним выдает нормально
--- Конец цитаты ---
Да, действительно, есть такой баг. Я его исправил, добавив в функции вывода описания и добавления в корзину $id = int $id;
--- Цитировать ---Green Kakadu:
если задать ид не существуещего товара не проще ли выкинуть страницу, что такого id не существует?
--- Конец цитаты ---
Я предлагал такой вариант заказчику, но он отказался. В принципе, он прав. Во всех ссылках - только валидные айди, а если юзер сам начал что-то менят в get-запросах, но пусть сам и проверяет, нашёлся ли такой айди. :)
--- Цитировать ---Green Kakadu:
при поиске ИМХО стоит сделать ограничения на кол-во слов в запросе и на длину запроса
--- Конец цитаты ---
Спасибо за совет. Подумаю об этом.
--- Цитировать ---Green Kakadu:
хотя смортя как ты это реализовал. Я надеюсь она не лопатит базу по каждому слову..
--- Конец цитаты ---
Зря так надеешься. :) Поиск глобально всё лопатит. Т.е. он ищет появление каждого из указанных слов как минимум в одном из трёх проверяемых полей, т.е. для двух слов получается (col1 LIKE \'%word1%\' OR col2 LIKE \'%word1%\' OR col3 LIKE \'%word1%\') AND (col1 LIKE \'%word2%\' OR col2 LIKE \'%word2%\' OR col3 LIKE \'%word2%\'). Понимаю, что запрос потенциально очень медленный, но и база пока маленькая - и особенно на этом запросе не тормозит. Будут проблемы - подумаю об оптимизации.
--- Цитировать ---Green Kakadu:
пример (можно и подлинее):
http://www.disctorg.ru/cgi-bin/index.pl? dvd_keywords=%E4%E8%F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0
+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+
%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+
5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+в
аава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F
4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+
:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваа
ва+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%
E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+
7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава
+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2
+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+
*+9+0+ваава+F1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F
1%EA+%F4%E2+2+3+4+5+:+7+*+9+0+ваава+F1%EA+%F4%E2+2
+3+4+5+:+7+*+9+0+ваава+%E2+2+3+4+5+:+7+*+9+0+ваава
+%FB%F4&choice=search_dvd
--- Конец цитаты ---
Этот пример немного на другое, т.е. на отсутствие параметра dvd_keywords (ты его в нём заменил на %20dvd_keywords). Я и это подправил. Теперь в этом случае редирект на главную страницу.
Большое спасибо за потраченное время на тестинг скрипта!
Green Kakadu:
--- Цитировать ---Forza:
Зря так надеешься. Поиск глобально всё лопатит. Т.е. он ищет появление каждого из указанных слов как минимум в одном из трёх проверяемых полей,
--- Конец цитаты ---
тогда обязательно надо лимит поставить на число слов в запросе, сам понимаешь что и сколько можно туда постить :)
Я его исправил, добавив в функции вывода описания и добавления в корзину $id = int $id;
а не стоит ли посылать на $%@ тех товарищей которые набрали невалидный id?
--- Цитировать ---Forza:
Этот пример немного на другое, т.е. на отсутствие параметра dvd_keywords (ты его в нём заменил на %20dvd_keywords).
--- Конец цитаты ---
это не я - это форум так это переварил. Т.е. там был dvd_keywords но очень длинный из кучи всякого мусора. Он мне его выдавал на полстраницы, типа по вашему запросу "пол страницы той фигни что я ввел" результатов 0
Навигация
Перейти к полной версии