Бонус ежедневный с рандомной кнопкой

  • Автор темы Kojo
  • Дата начала
Kojo
Участник
Сообщения
286
Реакции
53
Уважаемые форумчане, кто хочет поломать мозг?:) Итак какая была задача:
сделать ежедневный бонус с генерацией 4 кнопок, где различные суммы бонуса. На какую кнопку с соответвствущей суммой пользователь нажимает, та сумма ему и начисляется. Код будет ниже, но вкратце в чем облом: после ПОСТА рандом перерандомливается и пользователь получает другую сумму, нежели была на кнопке. Если ставим ПОСТ перед PHP, то начисляется сумма показанная после нажатия кнопки. Ну причина проста ПОСТ-страница обновляется и рандом срабатывает заново. Всю голову сломал как сделать, без применения Аякса(в нем ни бум-бум), возможно у кого то есть идеи. И собственно фрагмент кода:
Код:
<?PHP
$ddel = time() + 1;
$dadd = time();
$db->Query("SELECT COUNT(*) FROM ".$pref."_bonus_list WHERE user_id = '$usid' AND date_del > '$dadd'");

$hide_form = false;

    if($db->FetchRow() == 0){
    // генерация суммы бонуса
    $lum = rand($bonus_min, rand($bonus_min, $bonus_max) );
    $lum1 = rand($bonus_min, rand($bonus_min, $bonus_max) );
    $lum2 = rand($bonus_min, rand($bonus_min, $bonus_max) );
    $lum3 = rand($bonus_min, rand($bonus_min, $bonus_max) );
        # Выдача бонуса
        if(isset($_POST["bonus"])){
// массив кнопок       
$array_bonus = array(1 => "1", 2 => "2", 3 => "3", 4 => "4");       
$bonu = intval($_POST["bonus"]);
$bonran = $array_bonus[$bonu];
// задаем значение начисляемого бонуса
if($bonran = 1){
$sum = $lum;
}
elseif($bonran = 2){
$sum = $lum1;
}
elseif($bonran = 3){
$sum = $lum2;
}
elseif($bonran = 4){
$sum = $lum3;
}
       
                       
            # Зачилсяем юзверю
            $db->Query("UPDATE ".$pref."_users_b SET money_b = money_b + '$sum' WHERE id = '$usid'");
           
            # Вносим запись в список бонусов
           
           
            $db->Query("INSERT INTO ".$pref."_bonus_list (user, user_id, sum, date_add, date_del) VALUES ('$uname','$usid','$sum','$dadd','$ddel')");
           

           
            echo "<center><font color = 'green'><b>На Ваш счет для покупок зачислен бонус в размере {$sum} изумрудов</b></font></center><BR />";
           
            $hide_form = true;
           
        }
           
            # Показывать или нет форму
            if(!$hide_form){
?>

<form action="" method="post">
<table width="330" border="0" align="center">
  <tr>
    <td align="center"></td>
  </tr>
  <tr>
 
    <td align="center"><input type="hidden" name="bonus" value="1" /><input type="submit"  value="<?=$lum;?>" class="button2" style="height: 30px; margin-top:10px;"></td>

  </tr>
</table>
</form>
<form action="" method="post">
<table width="330" border="0" align="center">
  <tr>
    <td align="center"></td>
  </tr>
  <tr>     

    <td align="center"><input type="hidden" name="bonus" value="2" /><input type="submit"  value="<?=$lum1;?>" class="button2" style="height: 30px; margin-top:10px;"></td>

  </tr>
</table>
</form>
<form action="" method="post">
<table width="330" border="0" align="center">
  <tr>
    <td align="center"></td>
  </tr>
  <tr>     

    <td align="center"><input type="hidden" name="bonus" value="3" /><input type="submit"  value="<?=$lum2;?>" class="button2" style="height: 30px; margin-top:10px;"></td>

  </tr>
</table>
</form>
<form action="" method="post">
<table width="330" border="0" align="center">
  <tr>
    <td align="center"></td>
  </tr>
  <tr>     

    <td align="center"><input type="hidden" name="bonus" value="4" /><input type="submit"  value="<?=$lum3;?>" class="button2" style="height: 30px; margin-top:10px;"></td>
  </tr>
</table>
</form>

<br>
<?PHP

            }

    }else echo "<center><font color = 'red'><b>Вы уже получали бонус за последние 24 часа</b></font></center><BR />"; ?>
 
kvozimir
Участник
Сообщения
1.935
Реакции
409
ICQ
734713 734713
Skype
а суть модуль какова?
 
Андрей
Участник
Сообщения
241
Реакции
55
kvozimir написал(а):
а суть модуль какова?
Как тут скорее всего он хочет сделать

Там есть 4 кнопки и скрипт генерирует валюту и число. Но это уже совсем другая история...:)
 
Kojo
Участник
Сообщения
286
Реакции
53
Андрей написал(а):
Как тут скорее всего он хочет сделать

Там есть 4 кнопки и скрипт генерирует валюту и число. Но это уже совсем другая история...:)
Совершенно верно. Только без валют на вывод/покупки
 
Kojo
Участник
Сообщения
286
Реакции
53
Всё, реализовал, через промежуточное значение в БД
 
wh1skas
wildcake
Участник
Сообщения
1.017
Реакции
432
ICQ
564739604 564739604
Kojo написал(а):
Всё, реализовал, через промежуточное значение в БД
Превосходно, когда пользователи сами догадываются и отвечают на свои вопросы))
А так идея очень интересна, мне понравилось ) +
 
Kojo
Участник
Сообщения
286
Реакции
53
Да у меня эта идея с БД изначально витала, но немного протупил с запросом на предполеднюю строку. Запрос прально составил, заработало
 
wh1skas
wildcake
Участник
Сообщения
1.017
Реакции
432
ICQ
564739604 564739604
Будь аккуратнее с caption'ами у submit'ов ) Ну точнее с VALUE, смотри чтобы не подменяли ;)
 
Kojo
Участник
Сообщения
286
Реакции
53
А что тут они дадут, даже если подменят?Рандом другой все равно не получится, а VALUE чисто ттвечает на номер кнопки
 
artem1552
Местный
Сообщения
48
Реакции
3
  • #10
и нахрена все это писать в базу? зачем? А вы никогда не слышали про сессию в PHP
Взяли записали нужные вам рандомы в сессию и уже оттуда вытягивать нужные вам значения! Потом после получения уничтожать данную сессию и все! Так же если чел будет просто обновлять страницу, то Вам не будет сыпаться кучать записей в базу, а просто будет перезаписываться одна переменная!
 
Kojo
Участник
Сообщения
286
Реакции
53
  • #11
Именно для этого я просил помощи в этой теме. Вы бы вчера ответили, может сделал бы по другому. В данный момент сделал так, как сам придумал
 
artem1552
Местный
Сообщения
48
Реакции
3
  • #12
Kojo написал(а):
Именно для этого я просил помощи в этой теме. Вы бы вчера ответили, может сделал бы по другому. В данный момент сделал так, как сам придумал
Так есть теперь возможность переписать
 
Kojo
Участник
Сообщения
286
Реакции
53
  • #13
С сессиями не работал ни разу, поэтому имею о них поверхностное знание
 
artem1552
Местный
Сообщения
48
Реакции
3
  • #14
Kojo написал(а):
С сессиями не работал ни разу, поэтому имею о них поверхностное знание
Так ведь Вы пишете модуль, и не знаете про сессию? Ведь это тоже нужно учитывать если данный модуль предназначен для пользователей! А как я знаю в фф используются сессии! Значит вы и про нее не должны забывать? Да уж))))
 
Сверху