Vk php post пример

Одним из основных способов передачи данных веб-сайту является обработка форм. Формы представляют специальные элементы разметки HTML, которые содержат в себе различные элементы ввода — текстовые поля, кнопки и т.д. И с помощью данных форм мы можем ввести некоторые данные и отправить их на сервер. А сервер уже обрабатывает эти данные.

Создание форм состоит из следующих аспектов:

  • Создание элемента в разметке HTML
  • Добавление в этот элемент одно или несколько поле ввода
  • Установка метода передачи данных. Чаще всего используются методы GET или POST
  • Установка адреса, на который будут отправляться введенные данные

POST-запросы

Итак, создадим новую форму. Для этого определим новый файл form.php , в которое поместим следующее содержимое:

Атрибут action=»user.php» элемента form указывает, что данные формы будет обрабатывать скрипт user.php , который будет находиться с файлом form.php в одной папке. А атрибут method=»POST» указывает, что в качестве метода передачи данных будет применяться метод POST.

VK API messages.send пример отправка рассылка сообщений пользователям от имени группы через php

Для обработки запросов типа POST в PHP используется встроенная глобальная переменная $_POST . Она представляет ассоциативный массив данных, переданных с помощью метода POST. Используя ключи, мы можем получить отправленные значения. Ключами в этом массиве являются значения атрибутов name у полей ввода формы.

Например, так как атрибут name поля ввода возраста имеет значение age ( ), то в массиве $_POST значение этого поля будет представлять ключ «age»: $_POST[«age»]

И поскольку возможны ситуации, когда поле ввода будет не установлено, то в этом случае желательно перед обработкой данных проверять их наличие с помощью функции isset() . И если переменная установлена, то функция isset() возвратит значение true .

Теперь мы можем обратиться к скрипту form.php и ввести в форму какие-нибудь данные:

Обработка форм в PHP

И по нажатию кнопки введенные данные методом POST будут отправлены скрипту user.php :

массив <img src=

Необязательно отправлять данные формы другому скрипту, можно данные формы обработать в том же файле формы. Для этого изменим файл form.php следующим образом:

Поскольку в данном случае мы отправляем данные этому же скрипту — то есть по тому же адресу, то у элемента форма можно не устанавливать атрибут action .

Еще по теме:  Чем отличается телеграмм от Вконтакте

Отправка формы в PHP

Стоит отметить, что в принципе мы можем отправлять формы и запросом GET, в этом случае для получения тех же значений формы применяется массив $_GET , который был рассмотрен в прошлой теме:

Источник: metanit.com

VK API — php пример добавление ссылки в правое меню группы

Постинг вконтакте php

paveldurov

Проанализировав документацию API Vkontakte, я пришел к выводу, что Api вконтакте не позволяет программно постить на стену группы сообщения. По крайней мере простого способа это сделать не предусмотрено.

Думаю, это сделано как раз для того, чтобы не засорять паблики автоматическими сообщениями. Тем не менее, сложный способ это сделать есть. Постить на стену вконтакте можно, комбинируя использование API Vkontakte с использованием симуляцией пользователя.

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

У меня на решение этой головоломки ушла целая бессонная ночь, а в результате на свет появился грубый и не очень-то продуманный, но работающий класс, через который можно постить на стену свой группы.

Алгоритм работы класса с пабликом(группой) примерно такой

  • Авторизуем наше приложение.
  • Авторизуем пользователя вконтакте через Oauth.
  • Принимаем нашим пользователем запрос на разрешение действий от его лица.
  • Отправляем через API от нашего пользователя через наше приложение.

Довольно запутанно, правда? Представьте каково мне было : ). По сути, главная проблема, что
API VK не позволяет приложению самостоятельно совершать каких-либо манипуляций на сайте vkontakte,
оно должно служить прослойкой между пользователем и vkontakte, нет пользователя = нет api.

И наш сайт сидит одновременно на двух стульях — пользователь и приложение VK.

Что нужно делать?

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

Собственно, класс создавался для репоста нашего сайта ebash.org на паблик vk.com/ebash_org, так что там можете посмотреть, как он работает.

Для работы вам потребуется три вещи:

  1. Группа вконтакте
  2. Iframe-приложение вконтакте(обязательно standalone)
  3. Пользователь вконтакте

При создании объекта Vkontakte, нужно ввести следующие данные, которые у вас должны быть или вам следует их получить:

  • id группы vkontakte —
  • id приложения
  • api_secret приложения
  • логин пользователя vkontakte
  • пароль этого пользователя

Как использовать класс Vkontakte?

Вместе с самим классом есть файлик example.php, в идеале, достаточно будет использовать реализованный в нем метод.

Скачать сам класс можно здесь:

Пока на паблике есть сообщения от сегодняшнего дня, класс работает. Надеюсь он вам поможет : )

Похожие записи:

  1. Создание приложения vkontakte
  2. Как закрепить запись вконтакте (pin post)
  3. Как узнать возраст вконтакте если он скрыт
  4. Виджет комментариев вконтакте и хранение количества комментариев на сервере
  5. Вконтакте и Kate mobile. Эпичная битва за место под солнцем
Еще по теме:  Ммм это что значит ВК

Может быть полезным:

trim (html_entity_decode()) — проблема с удалением nbsp из начала или конца строки

Суперглобальный массив <img src=

REQUEST» />REQUEST» />

Суперглобальный массив $_REQUEST

Создание приложения vkontakte

24 комментария к “Постинг вконтакте php”
shedy 07.02.2013

Приветствую. Поставил ваш класс, там не хватало много файлов для Zend, но это не беда. Беда в том, что после настройки всего мне выдало вот такую вот ошибку: Permission to perform this action is denied for non-standalone applications Может знаете, как можно решить эту проблему?

shedy 07.02.2013
Сделал StandAlone приложение и всё заработало
shedy 07.02.2013
У вас, кстати, в ebash.org тоже desktop приложение. Спасибо большое за класс, долго искал =)

спасибо за отзыв, насчет standalone уже запамятовал к тому моменту, что писал статью А на счет недостающих классов Zend поподробнее, если не сложно. В комплекте там идет Zend_Http_Client, еще чего-то не хватало?

Там не хватало папок Uri, Validate и файлов Loader.php, Exception.php, Uri.php. По крайней мере у меня не установлен Zend и версия php 5.3

Есть ещё фишка, что сервер не авторизуется на сайте, т.к. он находится в необычной для меня области. Сервер в Нидерландах, вконтакте спрашивает у него мой мобильный телефон и данный класс не может авторизоваться. Помогает взять, зайти с самого сервера (или прокси, на сервере) на сайт вконтакте и авторизоваться там самому.. через браузер, указав свой мобильный телефон

я это не делал.. я просто из браузера один раз авторизовался и меня контакт запомнил, скрипт писать надобности не было

Александр 18.10.2013

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

Источник: jcover.ru

Как создать GET POST запросы с помощью PHP

Первый метод, позволяющий выполнить PHP POST запрос, заключается в использовании file_get_contents . Второй метод будет использовать fread в сочетании с парой других функций. Оба варианта применяют функцию stream context create , чтобы заполнить необходимые поля заголовка запроса.

Пояснение кода

Переменная $sPD содержит данные, которые нужно передать. Она должна иметь формат строки HTTP-запроса , поэтому некоторые специальные символы должны быть закодированы.

И в функции file_get_contents , и в функции fread у нас есть два новых параметра. Первый из них — use_include_path . Так как мы выполняем HTTP- запрос , в обоих примерах он будет иметь значение false . При использовании значения true для считывания локального ресурса функция будет искать файл по адресу include_path .

Еще по теме:  Easy vk что это

Второй параметр — context , он заполняется возвращаемым значением stream context create , который принимает значение массива $aHTTP .

Использование file_get_contents для выполнения POST-запросов

Чтобы в PHP отправить POST запрос с помощью file_get_contents , нужно применить stream context create , чтобы вручную заполнить поля заголовка и указать, какая « обертка » будет использоваться — в данном случае HTTP :

$sURL = «http://brugbart.com/Examples/http-post.php»; // URL-адрес POST $sPD = «name=Jacob; // Данные POST $aHTTP = array( ‘http’ => // Обертка, которая будет использоваться array( ‘method’ => ‘POST’, // Метод запроса // Ниже задаются заголовки запроса ‘header’ => ‘Content-type: application/x-www-form-urlencoded’, ‘content’ => $sPD ) ); $context = stream_context_create($aHTTP); $contents = file_get_contents($sURL, false, $context); echo $contents;

Использование fread для выполнения POST-запросов

Для выполнения POST-запросов можно использовать функцию fread . В следующем примере stream context create используется для составления необходимых заголовков HTTP-запроса :

$sURL = «http://brugbart.com/Examples/http-post.php»; // URL-адрес POST $sPD = «name=Jacob; // Данные POST $aHTTP = array( ‘http’ => // Обертка, которая будет использоваться array( ‘method’ => ‘POST’, // Request Method // Ниже задаются заголовки запроса ‘header’ => ‘Content-type: application/x-www-form-urlencoded’, ‘content’ => $sPD ) ); $context = stream_context_create($aHTTP); $handle = fopen($sURL, ‘r’, false, $context); $contents = »; while (!feof($handle)) < $contents .= fread($handle, 8192); >fclose($handle); echo $contents;

Как выполнить в PHP GET-запрос

Теперь мы уделим внимание использованию fread и file_get_contents для загрузки контента из интернета через HTTP и HTTPS . Чтобы использовать методы, описанные в этой статье, необходимо активировать опцию fopen wrappers . Для этого в файле php.ini нужно установить для параметра allow_url_fopen значение On .

Выполнение POST и GET запросов PHP применяется для входа в систему на сайтах, получения содержимого веб-страницы или проверки новых версий приложений. Мы расскажем, как выполнять простые HTTP-запросы .

Использование fread для загрузки или получения файлов через интернет

Помните, что считывание веб-страницы ограничивается доступной частью пакета. Так что нужно использовать функцию stream_get_contents ( аналогичную file_get_contents ) или цикл while , чтобы считывать содержимое меньшими фрагментами до тех пор, пока не будет достигнут конец файла:

fclose($handle); echo $contents; ?>

В данном случае обработки POST запроса PHP последний аргумент функции fread равен размеру фрагмента. Он, как правило, не должен быть больше, чем 8192 ( 8*1024 ).

Имейте в виду, что он может быть больше или меньше, а также может быть ограничен настройками системы, на которой запускается PHP .

Использование file_get_contents для получения URL-адреса сайта

Еще проще использовать этот метод при считывании файла по HTTP , так как вам не придется заботиться о считывании по фрагментам — все обрабатывается в PHP .

Источник: www.internet-technologies.ru

Рейтинг
( Пока оценок нет )
Загрузка ...