• Кто-нибудь может подсказать почему в коде не работает header(Location: )???

    @riente
    проверьте, чтобы файл был в кодировке без BOM, да и классы используемые чтобы не выводили ничего, попробуйте
    $_POST['text'] = FormChars($_POST['text']);

    заменить например на
    $_POST['text'] = 'test';

    если сработает, значит дело в классе.
    Ответ написан
    Комментировать
  • Как правильно сделать загрузку функций из файлов на PHP?

    @riente
    Мне кажется, что вы сами ответили на свой вопрос.
    Берете имя хоста и делаете include или require. Можно вынести в класс и добавить в autoloader.

    По поводу curl то же самое, вынесите код в отдельную функцию (может тоже в отдельный подключаемый файл) и не дублируйте.
    Ответ написан
  • Что должно происходить, когда пользователь заходит на сайт?

    @riente
    Ну, если объяснять на пальцах, то примерно алгоритм следующий:
    человек заходит, система проверяет его сессию: если в ней сохранены данные пользователя и тот факт, что он авторизован, то окей, показываем ему какую-то инфу; если же нет - то к примеру перекидываем на страницу логина. После ввода данных, если они верные, система сохраняет в сессию скажем id пользователя. Впоследствии, при попадании на любую страницу, где требуется авторизация, система видит, что пользователь авторизован, и по его id из базы получает модель и далее использует по назначению.
    Ответ написан
    3 комментария
  • Как правильно работать с сессиями php, установка настроек и т.д?

    @riente
    Есть вариант прописать это в php.ini:
    session.gc_maxlifetime = 7200

    Я храню сессии в директории сайта, как запретить доступ к ним?

    Храните в директории, к которой нет доступа извне.

    Есть шанс подмена идинтефикатора сессии и т.д

    В этом случае можно усложнять систему защиты, например, к идентификатору привязывать недавний ip и user agent, и если они резко изменились, просить залогиниться заново, и т.п. На что фантазии хватит.
    Ответ написан
  • Почему при переборе 2х мерного массива данные сохраняются во втором уровне, но не сохраняются в 1?

    @riente
    Когда вы делаете $data['theme'] = 'спектакль', вы присваиваете строку переменной $data['theme'], но не элементу массива $row.
    Но если передавать по ссылке, то при изменении значения в $data, они затронут и исходный массив.
    Ответ написан
    Комментировать
  • Для чего нужен Presenters в Fuelphp?

    @riente
    Чисто из своего опыта. Presenter полезен, когда нужно отобразить что-то вроде виджета.
    Например вы на главной странице (скажем, controller/main.php) хотите выводить блок с последними новостями. В классе презентера (presenter/news.php) вы пишете код, который берет из кэша/базы последние 3 новости, и отправляет в свой view.
    Т.е. после этого вместо того, чтобы в контроллере главной страницы писать длиннющий код (который проверяет в кэше последние новости, если не находит, то берет из базы, передает их во вью отдельной переменной), вы прямо во view главной страницы (view/main.php) пишете Presenter::forge('news') и все. У вас нет в контроллере ни одной лишней строки кода, вы не создаете лишнюю переменную, просто сразу в шаблоне страницы обозначаете, мол, тут надо вывести такой-то блок с информацией.
    Поскольку красивого способа передать какие-то параметры в presenter я так и не нашел, то он по сути должен быть "самодостаточным", как бы "сам должен знать, что от него хотят" =)
    Само собой это касается не только главной страницы, а вообще любого места на сайте, где это удобно.

    Если не совсем ясно объяснил, скажите, распишу подробнее.
    Ответ написан
    Комментировать
  • Как изменить url с помощью .htaccess?

    @riente
    RewriteEngine On
    RewriteRule ^(.+)/?$ /view_post.php?id=$1 [L]

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

    @riente
    При установке git.exe мог быть прописан в PATH, просто возможно OpenServer использует только свой PATH. Лично мне помогло в настройках во вкладке "Сервер" выставить значение "Свой Path + Win Path".
    Ответ написан
    5 комментариев