VK Api [IFrame] передача данных в JS

363
14 января 2017, 14:42

Есть чат на php данные пользователя в chat.php получаю так

 require_once 'chatfiles/vkapi.class.php'; #путь к файлу vkapi.class.php
    $api_id = 'ID'; #id приложения
    $secret_key = 'Key'; #секретный ключ приложения
$viewer_id = $_GET['viewer_id']; // id пользователя,не знаю откуда брать будешь   
$VK = new vkapi($api_id, $secret_key); 
$respo = $VK->api('getProfiles', array('uids'=>$viewer_id,'fields'=>'photo_50,first_name,last_name,sex'));   
$id    = $respo['response'][0]['uid'];
$fot   = $respo['response'][0]['photo_50']; // переменная с ссылкой
$name  = $respo['response'][0]['first_name'];
$fam   = $respo['response'][0]['last_name'];
$sex   = $respo['response'][0]['sex'];
$photo = "<img src='" . $fot . "'>";

Как можно данные параметры передать в JavaScript(отдельный подключаемый файл) чтобы использовать их в такой строке

 if(nrchats > 0 && objChat.chats[0].chat != '') {
      for(var i=0; i<nrchats; i++) {
        chatrows += '<p><span class="chatusr">&bull; '+ objChat.chats[i].user +' </span><em>'+ objChat.chats[i].date +'</em><span class="chat"> '+ bbcodeParser.bbcodeToHtml(objChat.chats[i].chat) +'</span></p>';
      }

Интересует именно вставка сюда '+ objChat.chats[i].user +',пытаюсь вывести туда автарку юзера.

Answer 1

Используй PHP прямо в HTML/JavaScript'е:

<html>
<head></head>
<body>
<!-- Это код PHP который Я сделал для доступа в API по ACCESS_TOKEN'у -->
<?php 
define('ACCESS_TOKEN', '********');
function api($method, $params = array())
{
    $params['access_token'] = ACCESS_TOKEN;
    $url = 'https://api.vk.com/method/' . $method . '?' . http_build_query($params);
    $response = file_get_contents($url);
    return json_decode($response, true);
}
?>
<?php
 require_once 'chatfiles/vkapi.class.php'; #путь к файлу vkapi.class.php
    $api_id = 'ID'; #id приложения
    $secret_key = 'Key'; #секретный ключ приложения
$viewer_id = $_GET['viewer_id']; // id пользователя,не знаю откуда брать будешь   
$VK = new vkapi($api_id, $secret_key); 
$respo = $VK->api('getProfiles', array('uids'=>$viewer_id,'fields'=>'photo_50,first_name,last_name,sex'));   
$id    = $respo['response'][0]['uid'];
$fot   = $respo['response'][0]['photo_50']; // переменная с ссылкой
$name  = $respo['response'][0]['first_name'];
$fam   = $respo['response'][0]['last_name'];
$sex   = $respo['response'][0]['sex'];
$photo = "<img src='" . $fot . "'>";
?>
<p><span class="chatusr">&bull; <?=$photo?> </span></p>
<!--                        Вот ^^^^^^^^^^^ здесь.-->
</html>

Используя код PHP который Я сделал для доступа в API по ACCESS_TOKEN я получил такой вывод:

<html>
<head></head>
<body>
<p><span class="chatusr">&bull; <img src='https://pp.vk.me/c636716/v636716255/44a37/HOQtQsvpIwo.jpg'> </span></p>
</html>

PHP в JavaScript можно внедрить также как и в HTML:

<script type="application/javascript">
 if(nrchats > 0 && objChat.chats[0].chat != '') {
      for(var i=0; i<nrchats; i++) {
        chatrows += '<p><span class="chatusr">&bull;<?=$photo?></span><em>'+ objChat.chats[i].date +'</em><span class="chat"> '+ bbcodeParser.bbcodeToHtml(objChat.chats[i].chat) +'</span></p>';
        //                                          ^^^^^^^^^^^
      }
</script>
READ ALSO
Почему не подключается класс?

Почему не подключается класс?

Почему у меня все работает в файле public/indexphp:

306
Как организовать подобную страницу на WP?

Как организовать подобную страницу на WP?

я думаю что года это рубрики, а TENNIS - BIGMARKETS - 2017 и подобное это подрубрикиТам где таблица с месяцами, как я понимаю это в цикле новая строка как...

288
Проблема с unset(), php

Проблема с unset(), php

Здравствуйте, есть у меня 2 массиваПервый - комплексы, второй - объекты этих комплексов

294