Ответы пользователя по тегу PHP
  • Какой стек технологий взять для админки сайта?

    @ipokos
    В сторону CMS не смотрю - считаю что они для этого слишком тяжелые.

    Всм, тяжелые? что же у вас там за хостинг?
    Поэтому хочется сделать минимальными средствами...

    Вы уверены что напишите быстрее чем сделали бы на готовом движке?
    Ответ написан
    1 комментарий
  • Не работает форма обратной связи php?

    @ipokos
    Вы на СТО тоже скажете "у меня машина не работает, что тут не так?" ?
    В чем проблема, какая ошибка?
    Если вообще ничего не ясно, то проверьте так:
    $to = 'yourmail@example.com';
    $subject = 'subject';
    $message = 'test';
    $headers = 'From: webmaster@example.com' . "\r\n" .
        'Reply-To: webmaster@example.com' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
    
    mail($to, $subject, $message, $headers);

    Если отправится, проверяйте мешанину с проверками и т.п.
    Если не отправится, то проверяйте настройки smtp
    Ответ написан
    Комментировать
  • Зачем статические методы в классе(PHP)?

    @ipokos
    можно обращаться без создания объекта Class::statikFunk

    Правильно.

    Что это мне дает?

    то что не нужно постоянно инициализировать класс с его конструктором.
    т.е. не создаются лишние объекты.

    Просто удобное обращение?

    это тоже..

    Когда объявлять статики?

    Например есть хелпер который решает разные мелкие вопросы.
    где-то массив перебрать, где то дату вернуть, где-то с строкой что то сделать
    (т.е. это простые задачи, которые не требуют сложной логики, подключения моделей и т.п., а могут быть выполнены в пределах локальной области видимости данного метода)
    вот такие методы можно объявлять статическими.
    Ответ написан
    Комментировать
  • Как оставить в url get запрос при переходе?

    @ipokos
    я так понимаю что урл "site.ru/page1.php site.ru/page2.php ..." это результат пагинации, "?test=1" в урле это параметры, фильтры или т.п.
    $getParms = 'test=1';  // выбранные пользователем фильтры

    для вывода страниц используете какой то цикл, в котором и генерируются урлы, в нем и конкатенируете доп. параметры
    // где то в пагинации что то типа:
    foreach($pagesArray as $page){
       $page['url'] .= '?' . $getParms;
    }
    Ответ написан
    Комментировать
  • Курс по PHP построенный на последовательном создании проекта?

    @ipokos
    Попробуйте начать разбирать какие то cms адекватные (только не word press или т.п. =) ) в идеале mvc-шные
    Это даст понимание архитектуры, зачем и как используются модели, контроллеры, вьюшки и т.п.
    ОРМ для работы с базой, ну и всякие хорошие практики. А потом можно будет (проще для понимания) переходить на какие то фреймворки.
    Ответ написан
    Комментировать
  • Обновить версию php?

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

    @ipokos
    Если "название теста" вы используете только для обработки полученного результата от пользователя, нужно использвать идентификатор, а не название.
    От пользователя вы будете получать только ответ и id теста на который он отвечал. Дальше по id выбераете с базы нужный тест и делаете то что вам нужно.
    Ответ написан
    Комментировать
  • Как выводить ошибку в форме авторизации при некорректно введенных данных?

    @ipokos
    if($_POST[login] == $admins[login] || md5($_POST[password]) == $admins[password])

    Если в этом участке $_POST[login] == $admins[login] сравниваете логин и в это пароль md5($_POST[password]) == $admins[password])
    то условие должно быть не "или" (||), а "и"(&&)
    т.е. для начала сделать так:
    if($_POST[login] == $admins[login] && md5($_POST[password]) == $admins[password])


    Ну а по сути вопроса:
    if(isset($_POST[login_admin]))
    {
        if($_POST[login] == $admins[login] && md5($_POST[password]) == $admins[password]){
        if(isset($_POST[me])) {$time = '900000000';} else {$time = '84000';}
            setcookie('hash', md5($_POST[password]), time()+$time);
            setcookie('login',$_POST[login], time()+$time);
            header('Location: index.php');
        }else{
            echo 'Error';
        }
    }


    ps. ну и было б неплохо почитать:
    if else
    password_hash - md5 совсем не актуально
    Валидация данных от пользователя
    Ответ написан
    Комментировать
  • Как подставлять наименование товара в форме заявки через PHP?

    @ipokos
    // $input = $_POST['pole2'];  при получении данных от пользователя, их нужно проверять, и хоть как то очистить
    $input  = trim(strip_tags($_POST['pole2'])); // это очень примитивный пример. Но суть я думая ясна.. тут очищаем сообщение от html тегов и удаляем пробелы
    $message = ''; // пустая переменная для сообщения
    if($input == '1'){
        $message = 'текст в первом случае';
    }elseif($input == 'text'){
        $message = 'текст во втором случае';
    }else{
        $message = 'текст если нет подходящих условий';
    }
    Ответ написан
    1 комментарий
  • Почему возвращаеться только последний элемент?

    @ipokos
    Хочу их возвратить в JSON , но только последний элемент возвращаеться.

    но у меня каждый раз этот массив возвращаеться

    вот что плучилось это мне не надо

    Сформулируйте нормально вопрос что вы хотите получить, в результате работы цикла.

    з.ы.
    "id"=>"$lol",

    если вы присваиваете или выводите только переменную, ее ненужно брать в двойные кавычки.
    "id"=>$lol,
    Ответ написан
    Комментировать
  • Правилен ли подход к запоминанию пользователя на сайте через куки?

    @ipokos
    Можно ли так делать?

    Нет.

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

    @ipokos
    почитать в свободное время вдали от компьютера, а не залипать в смартфоне

    Планирую изучать PHP,

    О_о
    По сути вопроса:
    Хорошая книжка вот: PHP 7. В подлиннике где купить в бумажном виде незн, гуглие. Но важно понимать что кроме синтаксиса php нужно знать или хотя бы иметь представление и о других вещах связанных с веб-разработкой.

    Утверждать не буду, но
    набрать достаточно знаний для устройства на первую работу стажером/junior'ом
    маловероятно что будет достаточно только одной книжки
    Ответ написан
    Комментировать
  • Как сделать вывод до ... окончания события?

    @ipokos
    if($days > 0) $str .= declension($days,array('день','дня','дней')).' ';

    А где у вас определена функ-я declension из второго примера?
    И correctForm
    $word1 = correctForm($days, $array1);
    из первого?
    Оба рабочие, но там где вы брали исходники, скорее всего еще есть часть "недобратого" кода
    Ответ написан
  • Как добавить условие в PHP-код?

    @ipokos
    Это какой то модуль или плагин?
    Как я понял, Вы привели кусок из цикла формирования списка.
    Где-то выше начало цикла, в теле получаете значение:
    $H221 = get_option('2H21Ads');

    Ниже идет только закрывающий тег списка:
    $sch = "</ul>";
    т.е. он открывается где то раньше.
    что содержится в переменной $content?
    до этой строки:
    $content = str_replace("</UL>", $sch, $content);

    В приведенном примере нет сравнения на тип тега <ul> или <ol>
    Ответ написан
  • Изучение и продвижение в PHP?

    @ipokos
    Изучите синтаксис (PHP 7 в подленнике)
    ООП (Объекты, шаблоны и методики)
    хотя бы в общих чертах что б понимать, что это, зачем надо.
    Что то для работы с базой (какую то ORM-ку)
    И после этого можно попробовать разбирать какой то фреймворк, попробовать написать что то свое (там бложек какой то или т.п.)
    Ответ написан
    Комментировать
  • Как сделать форму обратной связи?

    @ipokos
    $order = $this->request->post;
    Проверьте, приходит ли в $order нужное поле (messageu), если нет, проверяйте все имена в форме. Может где то очищаются лишние поля, если вы используете готовый модуль.

    Если в $order нужное поле есть, проверяйте обработку:
    sprintf($this->language->get('text_message'), html_entity_decode($order['messageu'], ENT_QUOTES, 'UTF-8')) . "\n";
    Ответ написан
    Комментировать
  • Как сделать редирект после отправки формы?

    @ipokos
    модуль поиска туров

    Вы используете модуль на своем сайте?
    редирект со сторонней формы

    Или айфреймом чужую форму выводите?

    Если 1е, то в модуле должна быть возможность настройки или доработки (на чем сайт, что за модуль, покажите форму)
    Если 2е - никак
    Ответ написан
  • Знает кто небольшую книгу по php?

    @ipokos
    Основы знаю

    В книге должны быть: основы,

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

    @ipokos
    Смотря куда сейчас планируете идти. Если в продуктовую компанию (на стажировку или т.п.), то да, знания нужны немного другого уровня. Если комп-я занимается аутсорсом, то вполне может и подойти.
    Попробуйте +- освоить какой то фреймворк и написать такой же бложек на нем.. Будете потом по другому смотреть и на свой код и на архитектуру.
    Ответ написан
    Комментировать
  • Почему не обрабатывает скрипт?

    @ipokos
    == - это оператор сравнения.
    = - это присваивания.

    Все я нашел ошибку там просто нужно только одно = а у меня ==.

    Если нашли ошибку тут:
    if($data['password'] == md5($_POST['password'])) {
    то это не ошибка.

    В каком виде пароли хранятся в БД?

    п.с. md5 - давно не используется
    Ответ написан