Ответы пользователя по тегу PHP
  • Можно ли чисто на PHP узнать включены ли Cookie без перезагрузки страницы?

    Можно попробовать не давать ему открыть страницу первый раз. Т.е. если куков нет вообще - выдавать пустую страницу устанавливающую куки с рефрешем.
    Но в этом случае человек с отключенными куками вообще не увидит ваш сайт, а получит вечный редирект.
    Ответ написан
    Комментировать
  • Почему обрезается часть массива $_POST при сабмите формы?

    Не знаю в чем проблема, но знаю как я бы искал - я бы всеми силами пытался добиться повторяемости.
    иногда (!) приходят на полные данные
    - так вы ничего не найдете.
    Поймайте обрезанные данные и повторите отправку с теме же данными - опять обрезалось, а с другими нет? Ищите разницу в данных.
    Ответ написан
    Комментировать
  • Как все-таки начинать php код?

    Если фреймворк под который ты пишешь везде использует <?, то на самом деле пофиг и я использую короткую версию.
    Дело в том, что нет никакого "правильно" или "лучше" выбитого в граните. И надо понимать как будет использоваться ваш код. Если он не отделим от другого, где уже стопятцот раз написано <?, то все равно. Во всех других случаях <?php.
    Для тех кто не понимает как и что он пишет есть PSR. Таким образом если вы не знаете что лучше использовать - пишите <?php. Как только сможете понимать, что лучше использовать - можете начинать использовать то, что лучше.
    Ответ написан
    1 комментарий
  • Как правильно завернуть запрос на локальный адрес?

    Ну в теории вот так вот:
    -t nat -A PREROUTING -d 233.233.233.233  -j DNAT --to-destination 192.168.0.1
    -t nat -A POSTROUTING -s 192.168.0.1  -j SNAT --to-source 233.233.233.233

    Но на практике у мну не пашет. Почему я не прав?
    Ответ написан
    Комментировать
  • Тонкая настройка битрикса. Как отключить цены, но оставить возможность заказать товар после авторизации?

    Просто не выводит цены в шаблонах компонентах. Закомментируй вывод и всех делов.
    Ответ написан
    Комментировать
  • В какой момент пора использовать ООП?

    Правильно научитесь ставить вопросы. Относительно вэб этот вопрос должен звучать так: В какой момент пора отказаться от использования ООП?

    Для понимания этого сложного момента попробуйте запилить несколько сайтов на ООП фреймворках. Можно на нескольких, а можно на одном хорошем. Не суть важно. В какой-то момент вы поймаете эту тонкую грань.
    Ответ написан
    Комментировать
  • Что быстрее 10 запросов к файлам или 10 к базе?

    Из файлов. БД теже файлы + интерфейс через который ты тянешь данные.
    Но по факту все несколько сложнее. Если оперативы на твоем серваке мало - файлы будут вытеснятся из нее и база может оказаться быстрее.
    Еще многое зависит от того сколько вообще файлов на каждом хите у тебя подключаются и как часто подключаются именно эти. Если всякий раз - они будут в оперативе сидеть достаточно надежно. Если от случая к случаю - не факт.
    И даже размер файлов будет влиять. Если в каждом по 20 байт - я бы сунул в базу. Если они большие - разумнее оставить файлами, но это уже с точки зрения удобства. Так же подумай как будет удобнее их редактировать когад надо будет это делать.
    Ответ написан
    Комментировать
  • Как сделать модальное окно с компонентом в битрикс?

    Как связаны "разность" рекомендуемых товаров на разных страницах и то показываются ли они в модальном окне?
    Андрей уже предложил вариант, но забыл добавить, что если рекомендуемые товары зависят от показываемого на странице товара, то подгружаемой странички с контентом окна, нужно передать какую-то инфу о том что есть на странице. Допустим id товара, если это страница детального просмотра элемента. Т.е. вызов должен быть в шаблоне и должен быть примерно таким:
    <a class="btn" data-toggle="modal" href="remote.php?id=<?=$arResult['ID'];?>" data-target="#modal">Click me</a>


    Дополнительно к этому можно просто выбросить окно прямо на страницу заранее в скрытый div, а потом показывать его модальным окном.

    Чтобы товары были разные нужно отдать в компонент фильтр который выбирает товаров больше чем покажет компонент, и в качестве параметров сортировки указать RAND и для свойства сортировки и для направления.
    Только нужно помнить что если второй метод показа и компонент в кэшируемой области, то он будет показывать у на одной странице одни и те же товары в течении времени действия кэша.
    Ответ написан
    Комментировать
  • Можно ли сделать выбор свойств товаров в Битрикс радио кнопками?

    Да, можно конечно. Делайте.

    Что хоть конкретно не получается?
    Не можете переделать верстку стандартного шаблона элемента чтобы свойства торгпредложений радиокнопками выбирались?
    Не можете вообще настроить торгпредложения?
    Не знаете как добавить свойство в корзину?
    Ответ написан
  • Неадекватное поведение сайта. Кто виноват?

    А как ваш "абсолютно(!) пустой html-документ" может не обладать структурой в инспекторе? Браузер в любом случае строит дерево DOM, потому что в хедер ему наверняка же прилетело Content-Type: text/html;
    Чтобы видеть именно тело которое вам пришло откывайте его не в инспекторе, а по Ctrl+U как вам уже подсказали.

    Ну то же касается и первого вопроса - перепишите структур так чтобы она была правильно а не выглядела правильной.
    Ответ написан
    Комментировать
  • Вопросы по быстродействию + Какую базу лучше всего использовать?

    Подумайте - не сможете ли вы обойтись NoSQL. Если нет - PostgreSQL + NoSQL хранилище. Я бы взял Redis.
    Ответ написан
    Комментировать
  • Как правильно организовать разработку bitrix + svn?

    Статью игнорируйте. Человек даже не осилил встроенную систему бэкапов битрикс и предложил делать всё то, что она умеет сама, но руками. Что тут еще добавлять? А, да - у них полный комплект сертификатов - это уже должно настораживать. А вот комменты стоит там почитать - есть полезные.
    Все проблемы описанные про 80Гб не стоят и выеденного яйца. Там из 80Гб 79Гб картинки которые вам тащить в проект не обязательно и даже вредно и опасно. Ключи тоже нафиг не нужны. Закройте девелоперские сервера чтобы они не торчали в сеть и всё. Никто вам слова не скажет.
    Вы упустили самую большую проблему любого вэбпроекта, не обязательно битрикса - как вносить изменения в базу? Ну допустим вы сделали модуль с отзывами и для него вам потребовалось добавить товарам 2 свойства. Закоммитите вы это на сайт и чо? Вам придется идти и руками создавать в админке эти поля. Или писать к каждому коммиту скрипт, который их создаст. Вот об этом подумайте лучше.
    Я бы остановился на скрипте. Но только не SQL запрос, а именно скрипт создания полей через битрикс-API.
    В остальном ваша схема более менее верная.
    Ответ написан
    Комментировать
  • А как изменить главную страницу для зарегистрированного пользователя?

    Вы же почти решили вопрос!
    В главную:
    <? global $USER;
    if($USER->IsAuthorized()) {
    include('include/auth_index.php');
    } else {
    include('include/notauth_index.php');
    }
    ?>

    В корень каталог include, а в него два файла - один с содержимым главной для авторизованных, второй для неавторизованных.
    По идеи хорошо бы это не так групо как я, написал, а с помощь битриксовских инклюдов включаемых областей, но это ведь уже сами сделаете?
    Ответ написан
    1 комментарий
  • Чем может быть вызвана 330 ошибка при отправке формы в битриксе?

    Что за форма? Откуда взялась? Кто ее обрабатывает. Вы уверены что она вообще обрабатывается. Если у вас свой обработчик то зачем его пихать во все страницы? Почему для него не сделать отдельный интерфейс с фиксированным URL и оттуда уже рефрешить? А лучше вообще сделать по ajax.
    Ничего не понятно.

    Зачем вот это header("Location /blabla") в битрикс?
    Ответ написан
    3 комментария
  • Нормально ли так делать?

    Подделать сессию == подделать куку индентификатора сессии. Если у злоумышленника есть куки сессии, то абсолютно все равно как в сессии вы храните авторизацию. Если их нет, то ему никак не поможет то, что в сессии просто флаг авторизации. По безопасности два этих способа - хранить auth=1 или какой-то там хэш ничем не отличаются. Ну можно с небольшой натяжкой сказать что auth=1 чуть безопаснее, потому что хэш вы-то от пароля храните, а значит в случае получения файлов сессии у злоумышленника есть гипотетический шанс попытаться восстановить пароль по хэшу, в случае если ему попадут в руки файлы сессий.
    Ответ написан
    Комментировать
  • Битрикс: Фильтр по цветам неправильно работает?

    К сожалению на сайте каталог не заполняется вручную, а загружается из-вне, и изменить суть свойства будет очень сложно.

    Неправда.
    Дорабатывайте экспорт до нормального состояния и выгружайте правильные значения.
    Невозможно?
    Дорабатывайте импорт на стороне битрикса - пусть он импортирует правильные значения.
    Сложно?
    Делайте хуки на добавление/апдейт элемента, парсите в них значения цвета и устанавливайте элементам корректные цвета. Этот вариант возможен всегда.
    Работать с кривыми данными - глупость. В конце концов выправить данные при загрузке/апдейте не сложнее чем при фильтрации, просто по определению задачи, а нужно сделать один раз, а не каждый раз на фильтре.
    Ответ написан
    Комментировать
  • Какую бесплатную IDE выбрать для bitrix?

    Я использую Komodo Edit.
    Для моментального перехода к коду чего-нибудь написал простенький отладчик.
    Выглядит это примерно так:
    eb209266635f49088f63fba333136b7b.jpg
    Т.е. тупо выкидываю окошко со ссылками на файлы в браузере - кликаешь ссылку - редактор открывает.

    Для работы с API надо натравить его на каталог с классами битрикса. Где-то на форуме находил ссылку на болванку.

    Со справкой хуже, но она есть в сети.
    Ответ написан
    Комментировать
  • Где вы делаете заметки по коду?

    В снипетах редактора. Это же очевидно. И вставлять в код потом удобно.
    Ответ написан
    Комментировать
  • Какие Вы знаете источники знаний о PHP?

    Автокомплит в редакторе.
    Ответ написан
    Комментировать