Jump to content

CoDy

User
  • Posts

    381
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by CoDy

  1. Почему же нельзя, если очень хочется, то можно. Вот так попробуйте: <script type="text/javascript">window.jQuery || (function () { /* пропишите корректный урл на библиотеку и раскоментируйте блок var script = document.createElement('script'); script.src = 'ссылка на библиотеку в другом месте'; document.getElementsByTagName('head')[0].appendChild(script); */ alert('гугл "помер", библиотека подключена из резервного места!!!');}())</script>Только учтите, что подключенная библиотека в секции header и в конце body - разные "вещи". Если подключать в конце body, тогда В посте я просто писал о целесообразности такого маневра. А ссылочку на гугл-либ лучше из первоисточника брать: https://developers.google.com/speed/libraries/devguide?hl=ru#jquery
  2. Сайт делается для его дальнейшей публикации на хостинге или просто приложение для локального использования? Если сайт будет выкладываться на хостинг, тогда, думаю, не стоит беспокоиться по поводу подгрузки библиотеки с гугла, ибо вероятность того, что хостинг ляжет по причине попадания в здание метиорита больше, чем ляжет гугл =). Да и даже если он(гугл) ляжет, то подгружаемая библиотека, скорее всего, у пользователя уже в кэше есть. При таком "резервном" подключении в теле страницы не должно быть ни одного скрипта, который пользует JQuery и не являяется обработчиком событий.
  3. Врятли такое может быть для сайта(я имею ввиду контент, менюшки, - статический контент). Скорее всего это локализация именно JS-расширения(например есть такое расширение для JQuery: DataPiker, там локализация вшивается именно в JS). Обычно локализация САЙТА не имеет никакого отношения к JS.
  4. Пропишите в качестве значений параметров value для option ссылку и добавьте к select следующее: onchange="document.location.href = this[this.selectedIndex].value;"http://jsfiddle.net/5kfJH/
  5. В joomla CMS ползуйте стаические методы класса JRequest(имеет статус устаревший) // Внимательно ознакомьтесь функционалом данного класса.$name = JRequest::getVar('name', 'no name'); // или методы объекта класса JInput $jinput = JFactory::getApplication()->input;$name = $jinput->get('name', 'no name');в зависимости от версии. В зависимости от того, какие методы и с какими параметрами "дергать" Joomla фильтрует данные.
  6. Никогда не пользовать конструкцию return exit (" "); это абсурд. Даже если написать это внутри функции/метода в вызывающий блок ничего не будет возвращено: void exit ([ string $status ] ) - exit ничего не возвращает, а просто отрубает выполнение с выводом строки в выходной поток. Вот посмотрите пример: <?php function function_name() { return exit ("fds");}$sd = function_name();echo 'что будет в итоге', $sdexit пользуй исключительно для завершения работы всего скрипта.
  7. Это хорошо, когда уже заваренный чай остывает. А бывало еще поставишь чайник воды вскипятить, и через часок другой вспоминаешь что его поставил.
  8. В вашем случае нужно убрать класс logout у вложенных элементов: http://jsfiddle.net/rzR8y/4/. И отдельно для каждого прописать блочное поведение. Думаю стоит немного переверстать, хотя бы так: http://jsfiddle.net/KGuM3/2/ Не совсем, вот из этого примера, думаю, будет понятна разница:http://jsfiddle.net/Ct7EW/
  9. Посмотрите внимательно, там класс logout прописан для div и всех вложенных input. Именно поэтому когда питаетесь сделать отступ для <div class="logout"> они задаются и для input. Ето вы называете "все корявится"?
  10. На моем счету уже 2 клавы(одна за 50USD, жуть как жалко было прожила месяц всего после приобретения) и мыша одна, - все насмерть. Правда это не мой персональный результат, а так сказать "общесемейный". Проливали чай и чернила от струйника.
  11. Уточните какой блок. Если что-то нужно сместить, попробуйте .elm {display:block;position:relative;left/right/top/bottom:смещение;}
  12. Минимальная адресуемая единица памяти 1 Байт.
  13. Ну вот так, например: SELECT -- Получаем все характеристики отобранных товаров t2.*FROM ( -- Выбрать неповторяющее множество ид товаров по заданным характеристикам. -- Причем только те, у которых имеются все перечисленные характеристики. SELECT virtuemart_product_id, count(*) AS eqvcnt FROM virtuemart_product_customfields WHERE -- Если еще нужно добавить критерии отбора, просто воткнуть еще одно условие -- OR (custom_value='*****' AND t2.virtuemart_custom_id=****) и увеличить значение в -- HAVING на 1 (virtuemart_custom_id=1 AND custom_value='1') OR (virtuemart_custom_id=2 AND custom_value='2') GROUP BY virtuemart_product_id HAVING eqvcnt = 2) t1INNER JOIN virtuemart_product_customfields t2 USING(virtuemart_product_id);-- илиSELECT t2.*FROM ( SELECT virtuemart_product_id, count(*) AS eqvcnt FROM virtuemart_product_customfields WHERE (virtuemart_custom_id=1 AND custom_value='1') OR (virtuemart_custom_id=2 AND custom_value='2') GROUP BY virtuemart_product_id ) t1InNER JOIN virtuemart_product_customfields t2 ON t1.virtuemart_product_id = t2.virtuemart_product_id AND t1.eqvcnt = 2Первый запрос, думаю, будет по оптимальней. Проверяйте на реальных данных.
  14. да, это ошибка убрать нада t2 оттуда: WHERE(custom_value='ACURA' AND virtuemart_custom_id=4)OR(custom_value='1997' AND virtuemart_custom_id=3)Прочитал внимательно пояснение, если нужно выбрать все акуры 1997 года, тогда я написал неправильный запрос. Мой запрос вернет акуры или 1997. Если будет скрипт для создания таблицы, попробую написать правильный. Скрипт можно получить так: show create table #__virtuemart_product_customfields;
  15. Совет: как по мне лучше так не "писать": SELECT DISTINCT(virtuemart_product_id) FROM #__virtuemart_product_customfieldsЛучше писать DISTINCT как модификатор к SELECT, а не как агригирующую функцию, в плане результата разницы нет абсолютно никакой, но так, я считаю, будет более корректно: -- ваш случайSELECT DISTINCT virtuemart_product_id FROM #__virtuemart_product_customfields;-- илиSELECT DISTINCT c1, c2, c3 FROM t;
  16. Крайне трудно понять смысловую нагрузку запроса. Вот ТУПО переписанный запрос без вложенного подзапроса: SELECT DISTINCT t2.virtuemart_product_idFROM ( SELECT DISTINCT virtuemart_product_id FROM #__virtuemart_product_customfields WHERE custom_value='ACURA' AND virtuemart_custom_id=4) t1LEFT JOIN #__virtuemart_product_customfields t2 ON t1.virtuemart_product_id = t2.virtuemart_product_idWHERE t2.custom_value='1997' AND t2.virtuemart_custom_id=3А если предположить, что есть таблица товаров и таблица дополнительных характеристик этих товаров и нужно получить неповторяющуюся выборку всех характеристик товаров, по нескольким характеристикам, тогда вот как-то так можно: SELECT -- Получаем все характеристики отобранных товаров t2.*FROM ( -- Выбрать неповторяющее множество ид товаров по заданным характеристикам. SELECT DISTINCT virtuemart_product_id FROM #__virtuemart_product_customfields WHERE (custom_value='ACURA' AND virtuemart_custom_id=4) OR (custom_value='1997' AND t2.virtuemart_custom_id=3) -- Если еще нужно добавить критерии отбора, просто воткнуть еще одно условие -- OR (custom_value='*****' AND t2.virtuemart_custom_id=****)) t1LEFT JOIN #__virtuemart_product_customfields t2 ON t1.virtuemart_product_id = t2.virtuemart_product_id
  17. Встречал рекомендации пользовать id только для элементов, которые будут задействованы в скриптах, а в остальных случаях отдавать предпочтение class.
  18. Есть интересная разработка, с очень веселым названием, бесплатный аналог 1С - "Ananas".
  19. CoDy

    HTMLSpecialChars

    Теоретически двойное тире, с последующим пробелом закоментит весь далее следующий SQL-код, но это сработает только есть подделываемые данные на заключаются в кавычки в теле запроса(например тупо вставляют передаваемые числовые данные без их преобразования в int/float).
  20. Внимательно почитайте требования к специалисту по 1С, которому готовы платить такие деньги. Обычно это: знания бух. учета, наличие сертификатов(свидельство глубокого понимания 1С платформы, как инструмента для создания систем учета), администрирование(терминальные сервера, субд, собственно администрирование самой 1С), железячник(поднятие рейдов, резервирование, подбор оборудования). А обычный кодер, который 1С-Франчайзе кодит то, что ему менеджер по проекту вручил не, думаю, что может претендовать на такую зарплату. Да и сферы довольно разные: системы автоматизации и учета на предприятии и веб. http://job.ukr.net/vacancy/programmist-1s-1568206/
  21. Извеняюсь, перепутал с подключением Google WebMaster. А аналитика собирается этим js скриптом: var _gaq = _gaq || [];_gaq.push(['_setAccount', 'аккаунт']);_gaq.push(['_trackPageview']);(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);})();
  22. Ну htmlspecialchars обычно полюзуют при вставке в базу именно html-кода, который в последствии будет воспроизводиться на странице, дабы не воткнули туда всякой гадости типа скриптов. А для данных типа логина, думаю, достаточно и экрана: строки не "раздуваются". Дастаточно htmlspecialchars пользовать при выводе логина, как данных на сайте. Хотя это уже дело логики.
  23. Если я не ошибаюсь, есть еще вариант просто закинуть в корень сайта специально сгенерированный файлик. Так надежнее. Я так всегда делал.
  24. CoDy

    HTMLSpecialChars

    Запомните одну вещь: если вас захотят "поломать", вас "поломают". Главное на сколько сильно будет это желание. Не смогут пробиться через сайт, - полезут через хостинг(OS,httpd,СУБД...). А уж в абсолютной безопасности своего хостера врятли кто-то может быть уверен. Поэтому не стоит пытаться защитится от . Это мое исключительно субъективное мнение.
  25. НИКОГДА так не делай: mysql_query("SELECT login, password, level FROM users WHERE login='".$_POST[login]."' AND password='".$_POST[password]."'")Давать возможность пользователю воткнуть данные в SQL-запрос "как есть", без "фильтрации" - первая "дыра" в безопасности, которую будут искать. Вот во что пойдет на выполнение, если закинуть в $_POST[login] строку "1' OR true limit 1; -- \"(это называется SQL-инекция): SELECT login, password, level FROM users WHERE login='1' OR true LIMIT 1; -- \' AND password=''Как минимум строки нужно пропускать через addslashes(), числа перегонять в числа через (int/float): mysql_query("SELECT login, password, level FROM users WHERE login='".addslashes($_POST[login])."' AND password='".addslashes($_POST[password])."'")Еще обязательно проверяй количество найденных записей по паре значений логин и пароль. Мало того, что они должны существовать, - они еще должны быть в единственном числе.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy