База пользователей приложения

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
maksimn
Сообщения: 59
Зарегистрирован: 26 мар 2011, 10:46

Re: База пользователей приложения

Сообщение maksimn »

Заменил. Все равно не работает.
maksimn
Сообщения: 59
Зарегистрирован: 26 мар 2011, 10:46

Re: База пользователей приложения

Сообщение maksimn »

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

<?php// данные доступа к базе данных$db_host="localhost";       // обычно не нужно изменять$db_user="";        // имя пользователя БД$db_password="";        // пароль БД$db_name = "";      // имя БД$table_name = "user";       // имя таблицы статистики. Если вы не меняли его в запросе, создающем БД, то и здесь менять его не надо // данные приложения$app_id = ''; // id приложения$api_secret = ''; // защищенный ключ приложения  $auth_key  = $_POST['auth_key'];$viewer_id = $_POST['viewer_id'];$first_name = $_POST['first_name'];$last_name = $_POST['last_name'];  $photo_big = $_POST['photo_big']; $real_key = md5($app_id."_".$viewer_id."_".$api_secret);if ($auth_key == $real_key){    // соединение с БД    mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());    mysql_select_db($db_name) or die (mysql_error());    mysql_query("SET NAMES 'utf8'");     // Выполняем запрос: если пользователя с таким id ещё нет в БД, то добавляем, если есть, то обновляем запись, прибавляя одно посещение (`visits` = (`visits`+1))    $query = 'INSERT INTO `'.$table_name.'` (`uid`, `fname`, `lname`) VALUES ("'.$viewer_id.'", "'.$first_name.'","'.$last_name.'")ON DUPLICATE KEY UPDATE  `visits` = (`visits`+1), `last_date`="'.time().'";';    $sql = mysql_query($query);    echo "OK";}?>
А такой код можно использовать? Хотя тоже не работает.
maksimn
Сообщения: 59
Зарегистрирован: 26 мар 2011, 10:46

Re: База пользователей приложения

Сообщение maksimn »

Заменил. Все равно не работает.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: База пользователей приложения

Сообщение Александр »

Александр писал(а):С помощью Charles посмотри доходит ли запрос до сервера.
Если запрос отправляется, то ищи ошибку в яваскрипте. Упрощай код.
Тебе вот эта часть вообще нужна?

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

            document.getElementById('user_name').innerHTML = data.response[0].first_name;            // создаем img, для отображения аватарки            var image=document.createElement('img');            // из полученных данных берем ссылку на фото            image.src=data.response[0].photo_big;            // добавляем img в блок user_foto            user_foto.appendChild(image);
Попробуй этот код

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

<script type="text/javascript" charset="cp1251">$(document).ready(function(){ // когда страница загрузится     // отправляем post запрос, передаём viewer_id и auth_key    $.post('http://АДРЕС_САЙТА/stat.php',  // заменяем на адрес своего скрипта            { 'viewer_id': '1', 'auth_key': '22222', 'first_name': '333' },   // передаваемые значения            function(data){         // функция после выполнения передачи данных                $('#result').html(data);            });}); </script>
Работает? Постепенно добавляй свои функции и смотри из-за чего перестает работать.
maksimn
Сообщения: 59
Зарегистрирован: 26 мар 2011, 10:46

Re: База пользователей приложения

Сообщение maksimn »

Попробовал код - не работает.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: База пользователей приложения

Сообщение Александр »

maksimn
У меня работает.
Charles то используешь? С ним очень много можно увидеть...
Напиши ссылку на скрипт с кодом который я писал выше, или выложи весь архив своих файлов с яваскриптом, stat.php и jquery, сохраняя структуру.
maksimn
Сообщения: 59
Зарегистрирован: 26 мар 2011, 10:46

Re: База пользователей приложения

Сообщение maksimn »

Charles то используешь? С ним очень много можно увидеть...
Использую, но пока мало что в нем вижу.
Александр писал(а):выложи весь архив своих файлов с яваскриптом, stat.php и jquery, сохраняя структуру
Выложил на народ:
vbazu.rar

Если можно, перешлите рабочий исходник.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: База пользователей приложения

Сообщение Александр »

maksimn
Ты совсем не знаешь php и javascript?
У тебя есть такое условие:

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

if(isset($_POST['id'])) {
Так оно с таким запросом и не выполнится.
Непонимание программирования, или всё таки имел в виду не id, а viewer_id ?

Эта строчка

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

$('#result').html(data);
выводит результат в элемент с id result. У тебя такого элемента нет. Если не надо выводить, то и не пиши такой код. Говнокод же получается.

Поправь всё это и заработает.

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

if(isset($_POST['id'])) {
на

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

if(isset($_POST['viewer_id'])) {

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

<body></body>
на

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

<body><div id="result" ></div></body>
maksimn
Сообщения: 59
Зарегистрирован: 26 мар 2011, 10:46

Re: База пользователей приложения

Сообщение maksimn »

Александр писал(а):maksimn
Ты совсем не знаешь php и javascript?
Не много.
Александр писал(а):Непонимание программирования, или всё таки имел в виду не id, а viewer_id ?
Имел ввиду viewer_id.
Александр писал(а):Эта строчка

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

    $('#result').html(data);
выводит результат в элемент с id result. У тебя такого элемента нет. Если не надо выводить, то и не пиши такой код. Говнокод же получается.
У меня такой элемент есть, все что в body я удалил.

Все ошибки исправил, вроде бы пишет в базу. Добавил еще дату и кол-во посещений. Работает. Далее добавляю имя, фамилию и фото - не работает. Искал ошибку - не нашел. Посмотрите пожалуйста - vbazu2.rar
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: База пользователей приложения

Сообщение Александр »

Попробуй брать названия передаваемых переменных (не сами переменные!) в кавычки.

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

'viewer_id': viewer_id
Убери из

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

$sql = @mysql_query($query);
знак @ и смотри ошибки...
Ответить