IFrame Определение id работает только на главной странице

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Аватара пользователя
Влад
Модератор
Модератор
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24

IFrame Определение id работает только на главной странице

Сообщение Влад »

У меня какае-то непонятная вещь! Определение id работает только на главной странице, на остальных нет не знаю почему, код идентичный на всех страницах!
Lucchese
FL Team
FL Team
Сообщения: 53
Зарегистрирован: 16 июл 2010, 19:16

Re: База данных пользователей приложения (ВК IFrame, jQuery)

Сообщение Lucchese »

Влад писал(а):У меня какае-то непонятная вещь! Определение id работает только на главной странице, на остальных нет не знаю почему, код идентичный на всех страницах!
сессии нада юзать
http://flapps.ru/forum/topic836.html
Аватара пользователя
Влад
Модератор
Модератор
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24

Re: База данных пользователей приложения (ВК IFrame, jQuery)

Сообщение Влад »

Помогите заюзать http://flapps.ru/forum/post7408.html не могу разобраться
Lucchese
FL Team
FL Team
Сообщения: 53
Зарегистрирован: 16 июл 2010, 19:16

Re: База данных пользователей приложения (ВК IFrame, jQuery)

Сообщение Lucchese »

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

 header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"'); session_start();if (!$_SESSION['viewer_id']){    $auth_key   = $_GET['auth_key'];    $viewer_id  = $_GET['viewer_id'];    $_SESSION['viewer_id'] = $viewer_id;    $_SESSION['auth_key'] = $auth_key;exit();} 
Пишешь в начале каждого своего php файла или просто инклудиш.
патом в самом php файле пишешь для удобства $viewer_id = $_SESSION['viewer_id'];
$viewer_id - теперь хранится до закрытия браузера id пользователя.
Аватара пользователя
Влад
Модератор
Модератор
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24

Re: База данных пользователей приложения (ВК IFrame, jQuery)

Сообщение Влад »

тупой вопрос но что если у меня html и именно он определяет текущего пользователя? Как это в html впихнуть?
Lucchese
FL Team
FL Team
Сообщения: 53
Зарегистрирован: 16 июл 2010, 19:16

Re: База данных пользователей приложения (ВК IFrame, jQuery)

Сообщение Lucchese »

session.php

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

header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');session_start();if (!$_SESSION['viewer_id']){    $auth_key   = $_GET['auth_key'];    $viewer_id  = $_GET['viewer_id'];    $_SESSION['viewer_id'] = $viewer_id;    $_SESSION['auth_key'] = $auth_key;exit();}
в самом начале своего html файле пишешь

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

<?phpinclude ("session.php");$viewer_id= $_SESSION['viewer_id'];?>
Чтобы подставлять viewer_id в JS сценарии просто пишешь например

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

 <SCRIPT type="text/javascript">alert('Мой ID = <?php echo $viewer_id; ?>')</SCRIPT>    
Аватара пользователя
Влад
Модератор
Модератор
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24

Re: База данных пользователей приложения (ВК IFrame, jQuery)

Сообщение Влад »

Вот мой код:

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

 <?phpinclude ("щдщдщ.php");$viewer_id= $_SESSION['viewer_id'];?><body><script type="text/javascript" charset="cp1251" > window.onload = (function() {   // когда загрузится вся страница    VK.init(function() {    // инициализируем Vk API     VK.callMethod("showInstallBox");     VK.callMethod("resizeWindow", 827, 850);         var parts=document.location.search.substr(1).split("&");            var flashVars={}, curr;            for (i=0; i<parts.length; i++) {                curr = parts[i].split('=');                flashVars[curr[0]] = curr[1];            }            // вытаскиваем viewer_id и auth_key из полученных переменных        var viewer_id = flashVars['viewer_id'];        var auth_key = flashVars['auth_key'];  alert('viewer_id = <?php echo $viewer_id; ?>')    // отправляем post запрос, передаём viewer_id и auth_key        $.post('http://188.93.17.73/iframe_stat.php',   // заменяем на адерс своего скрипта            { "viewer_id": viewer_id, "auth_key": auth_key },   // передаваемые значения            function(data){         // функция после выполнения передачи данных                $('#result').html(data);            });                 // выполняем запрос получения профиля    VK.api("getProfiles", {uids:viewer_id,fields:"photo_big"}, function(data) {        // обрабатываем полученные данные        // выводим имя и фамилию в блок user_info        document.getElementById('user_info').innerHTML = data.response[0].first_name + ' ' + data.response[0].last_name + '<br />';    });     });});  </script> </body>  
Я понимаю что я полный идиот поправьте пожалуйста! У мня почему-то вылазит окно где пишет viewer_id = <?php echo $viewer_id; и кнопка "ок" после этого ничего не происходит! Я ИДИОТ!!!!
Lucchese
FL Team
FL Team
Сообщения: 53
Зарегистрирован: 16 июл 2010, 19:16

Re: База данных пользователей приложения (ВК IFrame, jQuery)

Сообщение Lucchese »

Тебе нужно только чтоб запоминала id пользователя ?
Lucchese
FL Team
FL Team
Сообщения: 53
Зарегистрирован: 16 июл 2010, 19:16

Re: База данных пользователей приложения (ВК IFrame, jQuery)

Сообщение Lucchese »

перейменуй файл в расшерение php
http://www.pawlov.info/articles/1-other/6--php-html-
Обрати внимание на
Если Ваш хостинг работает под управлением web-сервера Apache, а это, скорее всего так и есть. Если Вам разрешено использовать на своем сайте файлы .htaccess и это, скорее всего не запрещено иначе рекомендую Вам сменить хостинг, потому что если администрация вводит такие ограничения, то ничего хорошего ожидать от нее не приходится. Так вот если Вы пользуетесь хостингом под управлением Apache и Вам разрешено использовать файлы .htaccess, то такая проблема решается созданием или редактированием вышеуказанного файла.

Для этого Вам необходимо будет создать в любом текстовом редакторе, не сохраняющем настройки форматирования («Блокнот» полностью выполняет эти требования) файл с именем .htaccess в котором будет содержаться всего одна строчка:

AddType application/x-httpd-php .php .phtml .htm .html

Если у Вас уже есть этот файл, то просто добавьте в него эту строчку и эта проблема будет решена. Этой строчкой Вы укажете серверу Apache, что файлы с типами .htm и .html нужно обрабатывать с помощью препроцессора PHP.

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

Если, вдруг, у Вас этот способ не сработает или сервер начнет выдавать ошибку 500, попробуйте добавить еще одну строчку в файл .htaccess перед той, которая была только что добавлена. В результате это будет выглядеть так:

RemoveHandler .html .htm
AddType application/x-httpd-php .php .phtml. htm .html

Эта ситуация зависит от версии web-сервера и его первоначальных настроек. Используйте второй способ только в случае необходимости – обычно достаточно только указать обработчику на тип файлов и все.
Аватара пользователя
Влад
Модератор
Модератор
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24

Re: База данных пользователей приложения (ВК IFrame, jQuery)

Сообщение Влад »

Всё сделал, но html страница не отображается, виден только серый экран
Ответить