Страница 1 из 2
Результат работы php-скрипта
Добавлено: 11 мар 2011, 23:39
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). Такой вариант меня тоже вполне устроит, но я тоже не понял, как его реализовать.
Заранее спасибо за помощь:)
Re: Результат работы php-скрипта
Добавлено: 11 мар 2011, 23:56
Александр
$.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 формате. После получения ответа от сервера выводи результат.
Re: Результат работы php-скрипта
Добавлено: 12 мар 2011, 00:15
Serge
Оно работает, но никто не знает почему (с)
Параметры пока не передавал, скрипты тестирую у себя на сервере, без заливки на сторонний хостинг. Когда пойму окончательно что и к чему - добавлю методы API и тогда уже буду проверять вконтакте.
- этот момент вообще не понимаю:( Можете подробно расписать его назначение?
Догадываюсь, что именно он и отвечает за результат, но откуда он будет его брать? По идее же в сам .php файл надо добавлять отправку результата - не понимаю как это сделать.
Re: Результат работы php-скрипта
Добавлено: 12 мар 2011, 00:22
Александр
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 скрипт выводит значение.
$.post - отправляет скрипту параметры и в функции обрабатывает полученный результат.
Re: Результат работы php-скрипта
Добавлено: 12 мар 2011, 10:51
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>
Re: Результат работы php-скрипта
Добавлено: 12 мар 2011, 14:00
Александр
Смотри с помощью
Charles идет ли вообще запрос.
Знаешь что делает эта строчка?
Она выводит результат в элемент с id="result". В твоём коде такого элемента нет.
Например:
Re: Результат работы php-скрипта
Добавлено: 12 мар 2011, 20:18
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>
но без результата.
Re: Результат работы php-скрипта
Добавлено: 12 мар 2011, 23:06
Александр
Код: Выделить всё
<!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... Быстрее сможешь понимать и реализовывать то что хочешь.
Re: Результат работы php-скрипта
Добавлено: 12 мар 2011, 23:27
Serge
Александр писал(а):Serge писал(а):что должно быть написано в php файле именно для вывода результата
вывод хоть чего-нибудь.
Подучи яваскрипт, jQuery... Быстрее сможешь понимать и реализовывать то что хочешь.
Были бы вменяемые мануалы - подучил бы.
А в тупую читать книгу на кучу страниц об еще одном алгоритмическом языке не очень хочется:(
Лазил в инете, искал конкретно решение данной проблемы, но так ничего и не вышло.
Читал и про разные методы jQuery, но всё равно окончательно не понимаю.
Прочитал про метод POST, но что толку, если я не могу понять, как вернуть значение из .php? Читал об этом, но не получилось ничего. (Через {"data":"OK!"})
Re: Результат работы php-скрипта
Добавлено: 12 мар 2011, 23:54
Александр
Serge писал(а):Были бы вменяемые мануалы - подучил бы.
Нету учебников по javascript? Если нет понимания языка, то нужно читать эту кучу страницы. Если какие-то моменты понятны, то их можно пропустить.
Serge писал(а):если я не могу понять, как вернуть значение из .php?
я писал выше
Александр писал(а):PHP скрипт выводит значение.
<?
echo 'work';
?>
Яваскриптом нужно прочитать это значение.