Автор Тема: Ежеденвный бонус на AJAX. Инструкция  (Прочитано 168 раз)

0 Пользователей и 1 Гость просматривают эту тему.

whoohawАвтор темы

  • *
  • Оффлайн
  • Награды Более 10 созданных тем Более 50 сообщений
  • Дата регистрации: Апр. 2018
  • Расположение: Тверь
  • Возраст: 30
  • Сообщений: 75
  • Страна: ru
  • Поблагодарили: 12 раз(а)
  • Репутация +4/-1
  • Пол: Мужской
  • Дата рождения:1988-09-21
    • Награды
  • Социальные сети:
    ВКонтакте


Рассмотрим работу AJAX, простой пример. Позволим нашим пользователям получать бонусы без обновления страницы и с передачей информационных сообщений.

Первым делом подключим необходимую библиотеку. Лучше в файл /inc/_header.php:



Откроем стандартный файл бонусов /pages/account/_bonus.php:

1. Убираем обработчик события. Можно оставить комментарии для этого /* и */. Смотри скриншот ниже, как должно получиться:

http://svalka58.ru/my_img/img/2018/05/21/12703.png
Ежеденвный бонус на AJAX. Инструкция


Однако, запрос, выделенный желтым нам пригодится. Скопируем его и поставим его ниже нашего комментария.


Далее, найдем нашу форму получения бонуса и сотрем ее полностью. Она нам не понадобится. Вот форма:



 Вместо нее установим кнопку. Всего одну. И ниже поставим SPAN, для вывода сообщения:

<button id="bonusform" name="bonus">Получить бонус</button><br>
<span class="mess" id="err"></span>


В самое начала стандартного файла бонуса поставим наш код JS обработки AJAX:

<script type="text/javascript">
    $(document).ready(function(){
            $("#bonusform").click(function() {
                $.ajax({
                    url: "../ajax/ajaxbonus.php",
                    type: "POST",
                    success: function(data){
                    if (data) {
                    $("#err").text(" "+data+" ").show().delay(3000).fadeOut(450);
                    $('#refr_table').load('# #refr_table');
                 
                    }else {
                        $("#err").text("ошибка 2");
                    }
                    },
                    error: function(){         
                alert("Данные не переданы!");         
                }
                });
             
            });
    });
</script>

Чуть пониже подключим стиль для нашего SPAN:

<style>
.mess {color: red;text-lign:center;}
</style>


Для того, чтобы данные в нашей таблице обновлялись так же без перезагрузки, нам нужно присвоить id для таблицы, которая выводит результаты. В Ajax мы уже производим это обновление. Найдем тег <table и добавим параметр id="refr_table".

Осталось создать обработчик события в PHP. Для этого создадим файл с именем ajaxbonus.php, со своей необходимой кодировкой, поместим его в папку Ajax, обычно там лежат файлы серфинга и игры кнб (если папки нет, то создаем). Вставляем в файл нижеприведенный код:

<?
session_start();
$usid=$_SESSION['user_id'];
$user=$_SESSION['user'];

function __autoload($name){ include($_SERVER['DOCUMENT_ROOT']."/classes/_class.".$name.".php");}
$config = new config;
$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);

$ddel = time() + 86400;
$dadd = time();
$db->Query("SELECT COUNT(*) FROM db_bonus_list WHERE user_id = '".$_SESSION['user_id']."' AND date_del > '$dadd'");
if($db->FetchRow() == 0){
   

    $sum = rand(10, rand(10, 20) );
    //echo $sum;
    $db->Query("UPDATE db_users_b SET money_b = money_b + '$sum' WHERE id = '20'");
    $db->Query("INSERT INTO db_bonus_list (user, user_id, sum, date_add, date_del) VALUES ('$user','$usid','$sum','$dadd','$ddel')");
    echo "Вы успешно получилии бонус в размере ".$sum." серебра!";
} else echo "Вы уже получали бонус за последние 24 часа!";
?>

На этом все! Попробуйте, если не получится - пишите!

ИСТОЧНИК
 
Пользователи, которые поблагодарили этот пост: djdarkcast, stariy, goodwin
 

Модуль "бонус лидерам"

Автор shans5Раздел Модули для фруктовых ферм

Ответов: 0
Просмотров: 1310
Последний ответ 14 Сентября 2015, 00:07:27
от shans5
Модуль "Накопительный бонус"

Автор shans5Раздел Модули для фруктовых ферм

Ответов: 1
Просмотров: 1921
Последний ответ 14 Января 2016, 06:03:15
от zebra
Ежедневный бонус (нужно 5 дней подряд заходить,сумма бонуса зависит от пополней)

Автор APTEMOHРаздел Продам модули фф

Ответов: 1
Просмотров: 707
Последний ответ 29 Ноября 2017, 19:54:51
от kolyaka105
Как сделать бонус начисления серебра при каждом пополнении баланса?

Автор nikogdaРаздел Вопросы по модулям фруктовых ферм

Ответов: 1
Просмотров: 68
Последний ответ 10 Декабря 2018, 06:34:19
от GameRussia
WMSET BONUS При пополнении баланса, бонус не зачисляется.

Автор enclaveРаздел Вопросы по модулям фруктовых ферм

Ответов: 6
Просмотров: 128
Последний ответ 08 Декабря 2018, 17:15:40
от enclave
Имя пользователя:
Пароль:
Session: