HTML, CSS, JavaScript, PHP
В этом уроке вы узнаете как сделать для виджета администраторскую часть, чтобы простые пользователи при этом её не видели и не подгружали лишние данные.
В уроке показаны случаи, когда переданные скрипту данные, лучше получить и обработать в JavaScript, а когда эти же данные следует получить и работать с ними в PHP.
Начинающие часто смешивают разные способы и потом путаются в этом. Используя логику которую опишу я, можно будет доработать скрипт даже после некоторого времени, когда вы забудете почему делали что-то именно так.
Если вы ещё не создавали виджет для публичных страниц и не знаете как это сделать, то сначала прочтите урок Виджет для публичных страниц.
Код скрипта виджета
Код: Выделить всё
<html><head><title>http://flapps.ru</title><script src="http://vkontakte.ru/js/api/xd_connection.js" type="text/javascript"></script></head><body><style>body { font-family: tahoma, arial, verdana, sans-serif, Lucida Sans; font-size: 11px; color: #000; margin:0; padding:3px 8px;}</style><script type="text/javascript" language="javascript">window.onload = (function() { VK.init(function() { // здесь выполняем функции, которые требуются для работы виджета у простого пользователя VK.loadParams(document.location.href); var viewer_id = VK.params.viewer_id; // выполняем запрос получения профиля VK.api("getProfiles", {uids:viewer_id}, function(data) { // обрабатываем полученные данные // выводим имя и фамилию в блок user_info document.getElementById('user_info').innerHTML = 'Привет, ' + data.response[0].first_name + ' ' + data.response[0].last_name; }); }); }); </script> <div id="user_info"></div><a href="http://flapps.ru">http://flapps.ru</a><?// здесь логично выводить интерфейс администратора и подключить те функции, которые требуются для администрирования виджетаif ($_GET['is_public_admin']==1) { // передан параметр is_public_admin=1 - пользователь является администратором публичной страницы (но это может быть подмена, поэтому нужно проверить по public_admin_key) // проверяем подлинность пользователя $secret_key = 'qwerty12345asdfgh678'; // защищенный ключ приложения // получаем переданные скрипту данные, для проверки подлинности пользователя $public_id = $_GET['public_id']; // id публичной страницы $viewer_id = $_GET['viewer_id']; // id пользователя просматривающего виджет $public_admin_key = $_GET['public_admin_key']; // public_admin_key // рассчитываем ключ проверки подлинности $real_key = md5($public_id."_".$viewer_id."_".$secret_key); if ($public_admin_key == $real_key) { // всё верно // выполняем какие-то функции в php $some = 1+10; // и выводим html часть админского интерфейса ?> <!-- для удобного редактирования, можно вынести администраторскую часть кода в отдельный файл, затем подключить --> <div id="admin_block"> <p>Вы администратор публичной страницы. Переменная $some = <? echo $some ?></p> </div> <? }}?></body></html>