За последние 24 часа нас посетили 56779 программистов и 1750 роботов. Сейчас ищут 884 программиста ...

время

Тема в разделе "PHP для новичков", создана пользователем Андрей12, 28 фев 2015.

  1. Андрей12

    Андрей12 Новичок

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    хочу чтобы каждый час брали бонус в моем проекте,но почему то пишет что бонус через 12 часов,что делаю не так?
    Код (Text):
    1. <div class="cl-right">
    2. <?PHP
    3. $_OPTIMIZATION["title"] = "Аккаунт - Ежедневный бонус";
    4. $usid = $_SESSION["user_id"];
    5. $uname = $_SESSION["user"];
    6. var_dump($uname);
    7.  
    8.  
    9. $loginn = $_SESSION["login"];
    10.  
    11. # Настройки бонусов
    12. $bonus_min = 2;
    13. $bonus_max = 2;
    14.  
    15. ?>
    16. <div class="s-bk-lf">
    17.     <div class="hst-title">Ежедневный бонус</div>
    18. </div>
    19.  
    20. <div class="clr"></div>
    21.  
    22. <BR />
    23.  
    24. Бонус выдется 1 раз в 60 минут <BR />
    25. Бонус выдается  на счет для покупок. <BR />
    26. Сумма бонуса генерируется случайно от <b><?=$bonus_min;?></b> до <b><?=$bonus_max;?></b> серебра.
    27. <BR /><BR />
    28. <?PHP
    29.  
    30.  
    31. $dadd = time() + 60*60;
    32. $data = time();
    33.  
    34.  
    35.  
    36. $db->Query("SELECT COUNT(*) FROM bank_w WHERE user_id = '$usid' AND data > '$data'");
    37. $db->Query("SELECT * FROM db_users_a WHERE id = '$usid' LIMIT 1");
    38.  
    39. $hide_form = false;
    40.  
    41.     if($db->FetchRow() == 0){
    42.    
    43.         # Выдача бонуса
    44.         if(isset($_POST["bonus"])){
    45.        
    46.             $sum = rand($bonus_min, rand($bonus_min, $bonus_max) );
    47.            
    48.             # Зачилсяем юзверю
    49.             $db->Query("UPDATE db_users_a SET rubies = rubies + '$sum' WHERE id = '$usid'");
    50.             $db->Query("UPDATE bank SET money = money - '$sum'");
    51.             if($post['data_bonus'] >= $dadd)
    52. {
    53. echo "<br><div align='center' class='head_mes1'><span class='mess_err'>Вы уже получали бонус за последний час!</span></div><br>";
    54. }elseif($post1['money']< $sum){
    55. echo "<p></p><center><span class='text_red'>В резерве бонусов закончились средства,следует пополнить наш резерв!</span></center><br>";
    56. }else{
    57. $db->Query("UPDATE bank SET money = money - '".$sum."'");
    58.            
    59.            
    60.             # Вносим запись в список бонусов
    61.            
    62.            
    63.             $db->Query("INSERT INTO bank_w (id, user_id, summa, data, data_del, login) VALUES ('$uname','$usid','$sum','$dadd','$ddel', $uname)");
    64.            
    65.             # Случайная очистка устаревших записей
    66.             $db->Query("DELETE FROM bank_w WHERE data < '$dadd'");
    67.            
    68.             echo "<center><font color = 'green'><b>На Ваш счет для покупок зачислен бонус в размере {$sum} серебра</b></font></center><BR />";
    69.            
    70.             $hide_form = true;
    71.            
    72.         }
    73.         }  
    74.             # Показывать или нет форму
    75.            
    76.             if($post['data'] >= $data){
    77.             if(!$hide_form)
    78. ?>
    79.  
    80. <form action="" method="post">
    81. <table width="330" border="0" align="center">
    82.   <tr>
    83.     <td align="center"></td>
    84.   </tr>
    85.   <tr>
    86.     <td align="center"><input  type="submit" name="bonus" value="Получить бонус" style="height: 30px; margin-top:20px;"></td>
    87.   </tr>
    88. </table>
    89. </form>
    90.  
    91. <?PHP
    92.  
    93.             }
    94.  
    95.         else    echo "<p></p><center><span class='text_red'>Следующий бонус через ".time_left($post['data']-$data)." </span></center>";
    96.     }else echo "<center><font color = 'red'><b>Вы уже получали бонус за последний час следующий бонус через     ".time_left($post['data']-$dadd)."    
    97.     </b></font></center><BR />"; ?>
    98.    
    99.    
    100.    
    101.    
    102.    
    103.    
    104.    
    105. <? 
    106.    
    107.     if($post['data_bonus'] <= $data)
    108. {
    109. echo '<center><a class="btn_small" href="?bonus&bonyes">Получить бонус</a></center>';
    110. }
    111. else{
    112. echo "<p></p><center><span class='text_red'>Следующий бонус через ".time_left($post['data_bonus']-$time)." </span></center>";
    113.  
    114. }
    115.    
    116.  
    117. ?>
    118.  
    119.  
    120. <table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
    121.   <tr>
    122.     <td colspan="5" align="center"><h4>Последние 20 бонусов</h4></td>
    123.     </tr>
    124.   <tr>
    125.   <td style="border: 1px dashed #db8;" align="center" class="m-tb">ID</td>
    126.   <td style="border: 1px dashed #db8;" align="center" class="m-tb">Пользователь</td>
    127.   <td style="border: 1px dashed #db8;" align="center" class="m-tb">Сумма</td>
    128.   <td style="border: 1px dashed #db8;" align="center" class="m-tb">Дата</td>
    129.    
    130.   </tr>
    131.   <?PHP
    132.  
    133.   $db->Query("SELECT * FROM bank_w ORDER BY id DESC LIMIT 5");
    134.  
    135.     if($db->NumRows() > 0){
    136.  
    137.         while($bon = $db->FetchArray()){
    138.        
    139.         ?>
    140.         <tr class="htt">
    141.             <td style="border: 1px dashed #db8;" align="center" ><?=$bon["id"]; ?></td>
    142.             <td style="border: 1px dashed #db8;" align="center" ><?=$uname["user"]; ?></td>
    143.             <td style="border: 1px dashed #db8;" align="center" ><?=$bon["summa"]; ?></td>
    144.             <td style="border: 1px dashed #db8;" align="center" ><?=date("d.m.Y",$bon["data"]); ?></td>
    145.         </tr>
    146.         <?PHP
    147.        
    148.         }
    149.  
    150.     }else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'
    151.    
    152.    
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Объясни по русски чего хочешь добиться.
     
  3. Андрей12

    Андрей12 Новичок

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    брать бонусы можно раз в час но у меня сейчас стоит 12 часов,как сделать чтобы брали каждый час? допустим взяли 15:56 бонус следующий бонус будет в 14:56..


    $dadd = time() + 60*60;
    $data = time(); тут что надо поставить? чтоб каждый час доступен был бонус?
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    изобрести машину времени. очевидно же
     
  5. Андрей12

    Андрей12 Новичок

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    16:56)))



    Вы уже получали бонус за последний час следующий бонус через 9 ч. 48 мин. а мне надо чтоб через час)