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

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

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

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

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

    По поводу curl то же самое, вынесите код в отдельную функцию (может тоже в отдельный подключаемый файл) и не дублируйте.
    Ответ написан
  • Как правильно работать с сессиями 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]

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