Контакты

Достижения

Все достижения (5)

Наибольший вклад в теги

Все теги (13)

Лучшие ответы пользователя

Все ответы (13)
  • Как использовать объект как поле класса в php?

    Folour
    @Folour
    -  $db = $data_base_object;
    +  $this->db = $data_base_object;


    Ошибка в конструкторе. Объект класса Базы Данных присваевается переменной $db вместо $this->db
    Ответ написан
    Комментировать
  • Как сделать такой обработчик формы?

    Folour
    @Folour
    Имена у инпутов должны быть уникальными. Здесь два инпута с датой имеют одинаковое имя.
    Ответ написан
    Комментировать
  • Необходимо переписать preg_replace()?

    Folour
    @Folour
    Как-то так
    ...
        //Из модификаторов убрать e
        $modifiers = ($this->language_data['CASE_SENSITIVE'][$k]) ? '' : 'i';
    ...
        //Заменить это
        $stuff_to_parse = preg_replace(
            "/([^$disallowed_before])($keyword)(?=[^$disallowed_after])/$modifiers",
            "'\\1' . $func2('\\2', '$k', 'BEGIN') . '<|$styles>' . $func('\\2') . '|>' . $func2('\\2', '$k', 'END')",
            $stuff_to_parse
        );
    
        //На это
        $stuff_to_parse = preg_replace_callback(
            "/([^$disallowed_before])($keyword)(?=[^$disallowed_after])/$modifiers",
            function($matches) use($func, $func2, $styles, $k) {
            return $matches[1].
                       $func2($matches[2], $k, 'BEGIN').
                       '<|'.$styles.'>'.
                       $func($matches[2]).
                       '|>'.
                       $func2($matches[2], $k, 'END');
            },
            $stuff_to_parse
        );
    Ответ написан
    4 комментария
  • Как сделать, чтобы после нажатия, меню закрывалось?

    Folour
    @Folour
    $('.menu-item').click(function() {
      $('.nav-collapse2')
          .removeClass('opened')
          .addClass('closed');
    });
    Ответ написан
    1 комментарий
  • Авторизация на ВКонтакте php скриптом

    Folour
    @Folour
    $cookieFile = 'cookie.txt'; //файл для печенек
    $account = ['email' => 'номер_телефона', 'pass' => 'пароль', 'submit' => 'Войти'];
    $startUrl = 'https://m.vk.com';
    $ua = 'Opera/9.80 (Android; Opera Mini/7.5.33361/31.1350; U; en) Presto/2.8.119 Version/11.11';
    
    $curl = curl_init();
    curl_setopt_array($curl, [
        CURLOPT_COOKIEJAR => $cookieFile,
        CURLOPT_COOKIEFILE => $cookieFile,
        CURLOPT_SSL_VERIFYHOST => false,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_USERAGENT => $ua,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_URL => $startUrl
    ]);
    
    preg_match('~post" action="(.*?)"~s', curl_exec($curl), $urlStepTwo);
    curl_setopt_array($curl, [
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $account,
        CURLOPT_URL => $urlStepTwo[1]
    ]); //Отправляем POST с данными аккаунта
    
    //Авторизовались, получаем главную страницу  для проверки
    curl_setopt_array($curl, [
        CURLOPT_URL => $startUrl
    ]); 
    echo curl_exec($curl); //Ваша страница ВК
    curl_close($curl);


    Без FOLLOWLOCATION = Bad Request, так и не нашел почему. С ним - все ок, сразу после POST - можно выполнять авторизированные запросы.
    Одно НО, с сервера Вы не авторизуетесь скорее всего, будет запрос на ввод номера.
    ---
    Летом писал автоматическое получение токена к апи, по логину и паролю. Так работала авторизация и без FOLLOWLOCATION, жаль кода того не осталось.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (9)