Не могу получить псевдоним пользователя...

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
acpid
Сообщения: 76
Зарегистрирован: 02 июн 2010, 09:05

Re: Не могу получить псевдоним пользователя...

Сообщение acpid »

значит стопроцнтов не работает пхп скрипт твой.
поставь вместо
alert('Все сработало отлично');
alert(msg)

увидишь что вернет скрипт
PUNISHER
Сообщения: 138
Зарегистрирован: 10 ноя 2010, 21:20

Re: Не могу получить псевдоним пользователя...

Сообщение PUNISHER »

<br />
<b>Parse error</b>: syntax error, unexpected '}' in <b>/home/amfichat/public_html/conf.php</b> on line <b>29</b><br />

Это я исправил в 29 строчке забыл скобочку убрать.
Спасибо тебе большое никнейм я получил, но В базу записалась запись без uid и auth key тк я понял в твоем коде не отсылается uid и auth.
Можешь посоветовать как добавить код в index.php чтобы шла запись на uid и auth key?
acpid
Сообщения: 76
Зарегистрирован: 02 июн 2010, 09:05

Re: Не могу получить псевдоним пользователя...

Сообщение acpid »

попробуй так:

в iframe

Код: Выделить всё

  <html><head><!-- подключаем xd_connection.js --><script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script><!-- подключаем фреймворк для отправки запроса --><script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script><script type="text/javascript" charset="cp1251" >window.onload = (function() {   // когда загрузится вся страница     VK.init(function() {    // инициализируем Vk API     // узнаём flashVars, переданные приложению GET запросом. Сохраняем их в переменную flashVars    var parts=document.location.search.substr(1).split("&");        //переменная для никнейма    var nick;    var flashVars={}, curr;    for (i=0; i<parts.length; i++) {        curr = parts[i].split('=');        // записываем в массив flashVars значения. Например: flashVars['viewer_id'] = 1;        flashVars[curr[0]] = curr[1];    }        // получаем viewer_id и auth_key из полученных переменных    var viewer_id = flashVars['viewer_id'];    var auth_key = flashVars['auth_key'];     // выполняем запрос получения профиля, не забудь перечислить поля.возможно здесь ошибаешься    VK.api("getProfiles", {uids:viewer_id,fields:"nickname,first_name,last_name"}, function(data) {                 // обрабатываем полученные данные        nick = data.response[0].nickname;            //выполняем запрос к пхп файлу    //http://host.ru/file.php - поменяй на полный адрес к своему пхп файлу    //name и fame в ковычках после data: - это и есть параметры пост запроса к файлу,т.е.     //в файле будешь получать $_POST['name'] и $_POST['fame'] - первое имя,второе - фамилия    $.ajax({     type: "POST",     url: "http://host.ru/file.php",     data: "name=" + nick + "&viewer_id=" + viewer_id + "&auth_key=" + auth_key ,    success: function(msg){         //сюда напиши код для удачной отправки например:         alert('Все сработало отлично');     },    error: function(a,b,err){    //сюда напиши код для неудачной отправки, например:         alert('Какойто косяк');     }   }) });});});</script></head><body></body></html>  
PUNISHER
Сообщения: 138
Зарегистрирован: 10 ноя 2010, 21:20

Re: Не могу получить псевдоним пользователя...

Сообщение PUNISHER »

все прекрасно :D последняя трабла осталось в iframe пытаюсь вставить ник в инпут но ничего не выходит. использую такой код:

Код: Выделить всё

<input id="name" name="username" value='<?php echo $_GET['name'];?>' type="text">


в чем косяк?
acpid
Сообщения: 76
Зарегистрирован: 02 июн 2010, 09:05

Re: Не могу получить псевдоним пользователя...

Сообщение acpid »

во первых откуда гет?у тебя же пост...во-вторых ковычки...ставь лучше двойные после value=...т.е. если ставишь везде двойные - то и ставь двойные, иначе со следующими,там где 'name' у тебя может путаница получится.ну и кстати у тебя в коде вроде есть полученный нейм:

Код: Выделить всё

 $name = $_POST['name']; 
и стало быть

Код: Выделить всё

<input id="name" name="username" value="<?php echo $name;?>" type="text">
ну или же всетаки

Код: Выделить всё

<input id="name" name="username" value="<?php echo $_POST['name'];?>" type="text">
в остальном вроде все должно,если нет - подробно давай код.т.к. я не оч понял повторю насчет гет.
PUNISHER
Сообщения: 138
Зарегистрирован: 10 ноя 2010, 21:20

Re: Не могу получить псевдоним пользователя...

Сообщение PUNISHER »

что-то никакой вариант не работает...

Код: Выделить всё

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link type="text/css" rel="StyleSheet" href="/css/style.css"><!-- подключаем xd_connection.js --><script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script><!-- подключаем фреймворк для отправки запроса --><script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script><script type="text/javascript" charset="cp1251" >window.onload = (function() {   // когда загрузится вся страница     VK.init(function() {    // инициализируем Vk API     // узнаём flashVars, переданные приложению GET запросом. Сохраняем их в переменную flashVars    var parts=document.location.search.substr(1).split("&");       //переменная для никнейма    var nick;    var flashVars={}, curr;    for (i=0; i<parts.length; i++) {        curr = parts[i].split('=');        // записываем в массив flashVars значения. Например: flashVars['viewer_id'] = 1;        flashVars[curr[0]] = curr[1];    }       // получаем viewer_id и auth_key из полученных переменных    var viewer_id = flashVars['viewer_id'];    var auth_key = flashVars['auth_key'];     // выполняем запрос получения профиля, не забудь перечислить поля.возможно здесь ошибаешься    VK.api("getProfiles", {uids:viewer_id,fields:"nickname,first_name,last_name"}, function(data) {               // обрабатываем полученные данные        nick = data.response[0].nickname;     //выполняем запрос к пхп файлу    ///conf.php - поменяй на полный адрес к своему пхп файлу    //name и fame в ковычках после data: - это и есть параметры пост запроса к файлу,т.е.    //в файле будешь получать $_POST['name'] и $_POST['fame'] - первое имя,второе - фамилия    $.ajax({     type: "POST",     url: "/conf.php",     data: "name=" + nick + "&viewer_id=" + viewer_id + "&auth_key=" + auth_key ,     success: function(msg){         //сюда напиши код для удачной отправки например:  alert(msg)            },    error: function(a,b,err){    //сюда напиши код для неудачной отправки, например:         alert('Какойто косяк');     }   }) });});});</script> </head><body><div id="result">   <table border="0" cellpadding="2" cellspacing="0" width="100%"> <tbody><tr><td><div align="right">Username:</div></td><td><input id="name" name="username" value='<?php echo $_GET['name'];?>' type="text"></td> </tr><tr><td><div align="right" style="display:none">Password:</div></td> <td><input id="password" style="display:none" name="password" value='<?php echo $_GET['auth_key'];?>' type="text"> </td> </tr> </html>
кстати вывод аут кей у меня через гет работает
acpid
Сообщения: 76
Зарегистрирован: 02 июн 2010, 09:05

Re: Не могу получить псевдоним пользователя...

Сообщение acpid »

эээ, не. так у тебя ничего и не выйдет.это же файл в ifram-е. Переменной в гет ты ничего не получишь.откуда тут гет. Auth_key ты здесь получаешь яваскриптом. Читай комменты в этом же файле:

Код: Выделить всё

window.onload = (function() {   // когда загрузится вся страница
только потом ты получаешь auth_key

Код: Выделить всё

 // получаем viewer_id и auth_key из полученных переменныхvar viewer_id = flashVars['viewer_id'];var auth_key = flashVars['auth_key']; 
один тебе выход - яваскриптом же ставить это значение..смотри доки по jquery..я только примерно попробую,точно не помню. чтото вроде
(смотри где коммент -- "//вот здесь присваиваем текст"):

Код: Выделить всё

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link type="text/css" rel="StyleSheet" href="/css/style.css"><!-- подключаем xd_connection.js --><script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script><!-- подключаем фреймворк для отправки запроса --><script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script><script type="text/javascript" charset="cp1251" >window.onload = (function() {   // когда загрузится вся страница     VK.init(function() {    // инициализируем Vk API     // узнаём flashVars, переданные приложению GET запросом. Сохраняем их в переменную flashVars    var parts=document.location.search.substr(1).split("&");       //переменная для никнейма    var nick;    var flashVars={}, curr;    for (i=0; i<parts.length; i++) {        curr = parts[i].split('=');        // записываем в массив flashVars значения. Например: flashVars['viewer_id'] = 1;        flashVars[curr[0]] = curr[1];    }       // получаем viewer_id и auth_key из полученных переменных    var viewer_id = flashVars['viewer_id'];    var auth_key = flashVars['auth_key'];     //вот здесь присваиваем текст    $('input [name="password"]').val(auth_key);     // выполняем запрос получения профиля, не забудь перечислить поля.возможно здесь ошибаешься    VK.api("getProfiles", {uids:viewer_id,fields:"nickname,first_name,last_name"}, function(data) {               // обрабатываем полученные данные        nick = data.response[0].nickname;     //выполняем запрос к пхп файлу    ///conf.php - поменяй на полный адрес к своему пхп файлу    //name и fame в ковычках после data: - это и есть параметры пост запроса к файлу,т.е.    //в файле будешь получать $_POST['name'] и $_POST['fame'] - первое имя,второе - фамилия    $.ajax({     type: "POST",     url: "/conf.php",     data: "name=" + nick + "&viewer_id=" + viewer_id + "&auth_key=" + auth_key ,     success: function(msg){         //сюда напиши код для удачной отправки например:  alert(msg)            },    error: function(a,b,err){    //сюда напиши код для неудачной отправки, например:         alert('Какойто косяк');     }   }) });});});</script> </head><body><div id="result">   <table border="0" cellpadding="2" cellspacing="0" width="100%"> <tbody><tr><td><div align="right">Username:</div></td><td><input id="name" name="username" value='<?php echo $_GET['name'];?>' type="text"></td> </tr><tr><td><div align="right" style="display:none">Password:</div></td> <td><input id="password" style="display:none" name="password" value="" type="text"> </td> </tr> </html>  
acpid
Сообщения: 76
Зарегистрирован: 02 июн 2010, 09:05

Re: Не могу получить псевдоним пользователя...

Сообщение acpid »

или вместо той строки попробуй так:

$('input [name="password"]').attr("value",auth_key);
PUNISHER
Сообщения: 138
Зарегистрирован: 10 ноя 2010, 21:20

Re: Не могу получить псевдоним пользователя...

Сообщение PUNISHER »

так мне же надо вывести "username"

<input id="name" name="username" value='<?php echo $_GET['name'];?>' type="text">

auth_key я получаю
acpid
Сообщения: 76
Зарегистрирован: 02 июн 2010, 09:05

Re: Не могу получить псевдоним пользователя...

Сообщение acpid »

фу блин..зачем тогда ты вот это делаешь:

Код: Выделить всё

 <input id="password" style="display:none" name="password" value='<?php echo $_GET['auth_key'];?>' type="text">  
???
Ответить