Результат работы php-скрипта

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Результат работы php-скрипта

Сообщение Serge »

Добрый вечер.

Начал пытаться делать iFrame приложение для контакта, не могу никак разобраться с одной проблемой.
Читал урок о базе с количеством визитов пользователя - нужна помощь с выводом результата пользователю. Т.е. если он первый раз зашел его скрипт занес в базу и вывел что-то по типу "Вы удачно добавлены в базу", в противном случае "Количество визитов +1".
+ К тому же выполнение скрипта должно делаться после нажатия на кнопку (это я реализовать смог, но вот результат показывать никак не хотит).

Код черновой без использования API. При открытии scr.php в браузере скрипт отлично выполняется, при нажатии на кнопку в html - выполняется только если нет никаких echo.
scr.php

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

<?phpinclude "database.php"; //Подключение к базе$viewer_id = 123456;    mysql_query('INSERT INTO `test` (`uid`) VALUES ("'.$viewer_id.'") ON DUPLICATE KEY UPDATE  `visits` = (`visits`+1);');    echo "OK!";?>
html

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

<!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><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Untitled Document</title><script src="js/jquery-1.4.2.min.js" type="text/javascript"></script></head><body><a href="#"onClick=$.post('http://localhost/test/scr.php',{})>Test</a></body></html>
P.S. Конечно же я собираюсь использовать это совсем по другому. Просто интересна сама методика.
P.P.S. В приложении "Время рыбалки - поймай свой рейтинг бесплатно" сделано такое: когда крючки есть - ловит рыбу, когда нет - выскакивает alert (javascript). Такой вариант меня тоже вполне устроит, но я тоже не понял, как его реализовать.

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

Re: Результат работы php-скрипта

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

$.post - без параметров viewer_id и т.п ?

Вот это вообще как-то некрасиво

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

<a href="#"onClick=$.post('http://localhost/test/scr.php',{})>Test</a>
без пробелов, без кавычек... Как все верно работает то?

Почему бы не писать все в <script></script> ?

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

<script>$('#link').click(function() {     $.post('http://flapps.ru/iframe_stat/iframe_stat.php',    { "viewer_id": viewer_id, "auth_key": auth_key },    function(data){        $('#result').html(data);    });        return false;});</script><a href="#" id="link">Test</a> 
Делай post запрос, а php скриптом выводи ответ. Для надежности делай его в JSON формате. После получения ответа от сервера выводи результат.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Результат работы php-скрипта

Сообщение Serge »

Оно работает, но никто не знает почему (с)

Параметры пока не передавал, скрипты тестирую у себя на сервере, без заливки на сторонний хостинг. Когда пойму окончательно что и к чему - добавлю методы API и тогда уже буду проверять вконтакте.

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

function(data){        $('#result').html(data);}
- этот момент вообще не понимаю:( Можете подробно расписать его назначение?
Догадываюсь, что именно он и отвечает за результат, но откуда он будет его брать? По идее же в сам .php файл надо добавлять отправку результата - не понимаю как это сделать.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Результат работы php-скрипта

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

Serge
http://api.jquery.com/jQuery.post/
jQuery.post( url, [ data ], [ success(data, textStatus, jqXHR) ], [ dataType ] )
success(data, textStatus, jqXHR)A callback function that is executed if the request succeeds.
PHP скрипт выводит значение.

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

<?echo 'work';?>
$.post - отправляет скрипту параметры и в функции обрабатывает полученный результат.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Результат работы php-скрипта

Сообщение Serge »

Спасибо большое, вроде как разобрался...
Но почему-то не хочет вызывать скрипт при нажатии кнопки. Не вызывает однозначно, потому что в БД запрос не идет (проверял подставляя конкретные параметры, передаваемые в post)
Догадываюсь, что делаю что-то не так, но не нашел что и как:)

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

<!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><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Untitled Document</title> <script src="js/jquery-1.4.2.min.js" type="text/javascript"></script> <script type="text/javascript">$('#link').click(function() {     $.post('http://localhost/test/scr.php',    { "viewer_id": viewer_id, "auth_key": auth_key },    function(data){        $('#result').html(data);    });        return false;});</script> </head><body><a href="#" id="link">Test</a></body></html>
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Результат работы php-скрипта

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

Смотри с помощью Charles идет ли вообще запрос.

Знаешь что делает эта строчка?

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

$('#result').html(data);
Она выводит результат в элемент с id="result". В твоём коде такого элемента нет.
Например:

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

<div id="result"></div>
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Результат работы php-скрипта

Сообщение Serge »

Не совсем понял:)

Сделал щас html вот так:

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

<script type="text/javascript">function send(){     $.post('http://localhost/test/scr.php',    { "viewer_id": viewer_id, "auth_key": auth_key },    function(data){        alert($('#result').html(data));    });    };</script> <a href="" onclick="javascript:send();">Test 3</a>
Запрос в базу проходит, выводит окошко alert с записью [object Object]. Объясните, что должно быть написано в php файле именно для вывода результата? Т.е. как оно должно выглядеть и отправлять его.
UPD: Пока писал пост решил еще попробовать помучать запрос. Теперь окошко алерта не вылазит принципиально, но в базу значение заносит.
Пробовал

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

<html><body><div id="result"> <? echo "OK!"; ?> </div></body></html>
или

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

<html><body><div id="result"> Получилось! </div></body></html>
но без результата.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Результат работы php-скрипта

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

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

<!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><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Untitled Document</title> <script src="js/jquery-1.4.2.min.js" type="text/javascript"></script> <script type="text/javascript">$('#link').click(function() {    $.post('http://localhost/test/scr.php',    { "viewer_id": viewer_id, "auth_key": auth_key },    function(data){        $('#result').html(data);    });        return false;});</script> </head><body><a href="#" id="link">Test</a><div id="result"></div></body></html>
Serge писал(а):что должно быть написано в php файле именно для вывода результата
вывод хоть чего-нибудь.

Подучи яваскрипт, jQuery... Быстрее сможешь понимать и реализовывать то что хочешь.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Результат работы php-скрипта

Сообщение Serge »

Александр писал(а):
Serge писал(а):что должно быть написано в php файле именно для вывода результата
вывод хоть чего-нибудь.

Подучи яваскрипт, jQuery... Быстрее сможешь понимать и реализовывать то что хочешь.
Были бы вменяемые мануалы - подучил бы.
А в тупую читать книгу на кучу страниц об еще одном алгоритмическом языке не очень хочется:(

Лазил в инете, искал конкретно решение данной проблемы, но так ничего и не вышло.
Читал и про разные методы jQuery, но всё равно окончательно не понимаю.
Прочитал про метод POST, но что толку, если я не могу понять, как вернуть значение из .php? Читал об этом, но не получилось ничего. (Через {"data":"OK!"})
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Результат работы php-скрипта

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

Serge писал(а):Были бы вменяемые мануалы - подучил бы.
Нету учебников по javascript? Если нет понимания языка, то нужно читать эту кучу страницы. Если какие-то моменты понятны, то их можно пропустить.
Serge писал(а):если я не могу понять, как вернуть значение из .php?
я писал выше
Александр писал(а):PHP скрипт выводит значение.
<?
echo 'work';
?>
Яваскриптом нужно прочитать это значение.
Ответить