Помогите по Payeer лотереи

Eraly01

Участник
Всем привет! Сегодня я установил в ферму модуль "Payeer лотерея" . И в нем 5 билетов цена 10 руб. Мест 1. И задача: хочу сделать 10 мест 5 побед и цена 5. Цена и билеты понятны но хочу сделать 5 победных мест. Помогите.
Код:

PHP:
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Лотерея";
$usid = $_SESSION["user_id"];
$uname = $_SESSION["user"];

# Настройки лотерея
$amount_lottery = 5; // Стоимость лотерейного билета
$num_bil = 10; // Количество билетов

?>
<div class="s-bk-lf">
    <div class="acc-title">Лотерея</div>
</div>
<div class="silver-bk">
<div class="clr"></div>  
<?PHP

# список предыдущих лотерей
if(isset($_GET["winners"])){ ?>

<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
  <tr>
    <td colspan="6" align="center"><h4>Завершенные лотереи</h4></td>
    </tr>
  <tr>
    <td align="center" class="m-tb">№</td>
    <td align="center" class="m-tb">Пользователь<BR />[Билет]</td>
   
    <td align="center" class="m-tb">Банк</td>
    <td align="center" class="m-tb">Дата</td>
  </tr>
  <?PHP

  $db->Query("SELECT * FROM db_payeerlottery_winners ORDER BY id DESC");

    if($db->NumRows() > 0){

          while($ref = $db->FetchArray()){
       
        ?>
        <tr class="htt">
            <td align="center"><?=$ref["id"]; ?></td>
            <td align="center"><?=$ref["user_a"]; ?><BR />Билет: <?=$ref["bil_a"]; ?></td>
           
            <td align="center"><?=$ref["bank"]; ?></td>
            <td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
          </tr>
        <?PHP
       
        }

    }else echo '<tr><td align="center" colspan="6">Нет записей</td></tr>'
  ?>


</table>

<div class="clr"></div></div>
<?PHP return; } ?>

<b>Лотерея</b> - это такая игры :) Всего имеется <?=$num_bil; ?> билетов. После того, как все билеты будут проданы состоится розыгрыш счастливых билетов. Система случайным образом выберет 3 номера счастливых билетов и зачислит им призы. <BR />
1 место - 90% от общего банка [<?=($amount_lottery * $num_bil) * 0.9; ?> рублей]. <BR />

Остальные 10% составляют комиссию системы.
<BR />
<u>Стоимость билета = <?=$amount_lottery; ?> рублей</u>.
<BR />
<a href="/account/payeerlottery/winners">Список завершенных лотерей</a>
<BR /><BR />


<?PHP
   
    function ViewPurse($purse){
       
    if( substr($purse,0,1) != "P" ) return false;
if( !preg_match("/^[0-9]{7,8}$/", substr($purse,1)) ) return false;
return $purse;
}
   
    if(isset($_POST["purse"])){
       
        $purse = ViewPurse($_POST["purse"]);
       
        if($purse !== false){
       

    if(isset($_POST["set_paylottery"], $_POST["hash"]) AND $_SESSION["lotpay_hash"] == $_POST["hash"]){
   
   
   
$sum = 10;


# Заносим в БД
$db->Query("INSERT INTO db_payeerlottery_insert (user_id, user, purse, sum, date_add) VALUES ('".$_SESSION["user_id"]."','".$_SESSION["user"]."','$purse','$sum','".time()."')");

$desc = base64_encode($_SERVER["HTTPS_HOST"]." - USER ".$_SESSION["user"]);
$m_shop = $config->shopIDlot;
$m_orderid = $db->LastInsert();
$m_amount = number_format($sum, 2, ".", "");
$m_curr = "RUB";
$m_desc = $desc;
$m_key = $config->secretWlot;

$arHash = array(
$m_shop,
$m_orderid,
$m_amount,
$m_curr,
$m_desc,
$m_key
);
$sign = strtoupper(hash('sha256', implode(":", $arHash)));

?>
<center>
<form method="GET" action="//payeer.com/merchant/">
    <input type="hidden" name="m_shop" value="<?=$config->shopIDlot; ?>">
    <input type="hidden" name="m_orderid" value="<?=$m_orderid; ?>">
    <input type="hidden" name="m_amount" value="<?=number_format($sum, 2, ".", "")?>">
    <input type="hidden" name="m_curr" value="RUB">
    <input type="hidden" name="m_desc" value="<?=$desc; ?>">
    <input type="hidden" name="m_sign" value="<?=$sign; ?>">
    <input type="submit" name="m_process" value="Оплатить и получить билет" />
</form>
</center>
<div class="clr"></div>      
</div>
<?PHP

return;
    }

        }else echo "<center><b><font color = 'red'>Кошелек Payeer указан неверно! Смотрите образец!</font></b></center><BR />";
       
    }
?>


<center>
<?PHP
$_SESSION["lotpay_hash"] = rand(1, 9999999);
?>
<form action="" method="post">
<table width="99%" border="0" align="center">
  <tr>
    <td><font color="#000;">Введите кошелек Payeer [Пример: P1112457]</font>: </td>
    <td><input type="text" name="purse" size="15"/></td>
  </tr>
  </table>
<input type="submit" name="set_paylottery" value="Купить билет" class="MyButton" style="padding:7px;" />
<input type="hidden" name="hash" value="<?=$_SESSION["lotpay_hash"]; ?>" />
</form>
</center>


<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
  <tr>
    <td colspan="5" align="center"><h4>Пользователи купившие билеты</h4></td>
    </tr>
  <tr>
    <td align="center" class="m-tb">№ билета</td>
    <td align="center" class="m-tb">Пользователь</td>
    <td align="center" class="m-tb">Дата</td>
  </tr>
  <?PHP

  $db->Query("SELECT * FROM db_payeerlottery ORDER BY id DESC");

    if($db->NumRows() > 0){

          while($ref = $db->FetchArray()){
       
        ?>
        <tr class="htt">
            <td align="center"><?=$ref["id"]; ?></td>
            <td align="center"><?=$ref["user"]; ?></td>
            <td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
          </tr>
        <?PHP
       
        }

    }else echo '<tr><td align="center" colspan="3">Нет записей</td></tr>'
  ?>


</table><div class="clr"></div>  


</div>
 

Вложения

Последнее редактирование:

Sogan

Участник
PHP:
<?PHP


    if(isset($_POST["set_lottery"], $_POST["hash"]) AND $_SESSION["lot_hash"] == $_POST["hash"]){
    
        $db->Query("SELECT money_b FROM db_users_b WHERE id = '{$usid}' LIMIT 1");
        if($db->FetchRow() >= $amount_lottery){
        
            $db->Query("UPDATE db_users_b SET money_b = money_b - '$amount_lottery' WHERE id = '{$usid}'");
            $db->Query("INSERT INTO db_lottery (user_id, user, date_add) VALUE ('$usid','$uname','".time()."')");
            $lid = $db->LastInsert();
            
            if( $lid >= $num_bil){
            
                # Розыгрываем призы
                while(true){
                
                    $winner_a = rand(1, $num_bil);
                    $winner_b = rand(1, $num_bil);
                    $winner_c = rand(1, $num_bil);
                    $winner_d = rand(1, $num_bil);
                    $winner_e = rand(1, $num_bil);
                    $winner_f = rand(1, $num_bil);
                    
                    if($winner_a != $winner_b AND $winner_b != $winner_c AND $winner_c != $winner_d AND $winner_d != $winner_e AND $winner_e != $winner_f AND $winner_f != $winner_a) break;
                    
                }
                
                # Пользователь 1
                $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_a'");
                $user_a = $db->FetchRow();
                
                # Пользователь 2
                $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_b'");
                $user_b = $db->FetchRow();
                
                # Пользователь 3
                $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_c'");
                $user_c = $db->FetchRow();
                
                # Пользователь 4
                $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_d'");
                $user_d = $db->FetchRow();
                
                # Пользователь 5
                $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_e'");
                $user_e = $db->FetchRow();
                
                # Пользователь 6
                $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_f'");
                $user_f = $db->FetchRow();
                
                # чистим таблицу
                $db->Query("TRUNCATE TABLE db_lottery");
                
                # Вставляем запись о победителях
                $all_bank = ($num_bil * $amount_lottery);
                $db->Query("INSERT INTO db_lottery_winners (user_a, bil_a, user_b, bil_b, user_c, bil_c, user_d, bil_d, user_e, bil_e, user_f, bil_f, bank, date_add) 
                VALUES ('$user_a','$winner_a','$user_b','$winner_b','$user_c','$winner_c','$user_d','$winner_d','$user_e','$winner_e','$user_f','$winner_f','$all_bank','".time()."')");
                
                # Обновляем средства пользователям
                # 1 место
                $money_a = $all_bank * 0.25;
                $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_a' WHERE user = '$user_a'");
                # 2 место
                $money_b = $all_bank * 0.20;
                $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_b' WHERE user = '$user_b'");                
                # 3 место
                $money_c = $all_bank * 0.15;
                $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_c' WHERE user = '$user_c'");                
                # 4 место
                $money_d = $all_bank * 0.10;
                $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_d' WHERE user = '$user_d'");                
                # 5 место
                $money_e = $all_bank * 0.06;
                $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_e' WHERE user = '$user_e'");                
                # 6 место
                $money_f = $all_bank * 0.04;
                $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_f' WHERE user = '$user_f'");
                
                echo "<center><b><font color='green'>Лотерея окончена</font></b></center><BR />";
                
            }else echo "<center><b><font color='green'>Билет успешно куплен</font></b></center><BR />";
            
        }else echo "<center><b><font color='red'>Недостаточно средств для покупки билета</font></b></center><BR />";
        
    }

?>
Там кучу чего надо переделывать, и в самой базе столбы добавлять,
вот примерный код, я себе делал, на 10 билетов, и выигрышные 6 билетов,
 

pligin

Команда форума
Администратор
PHP:
<?PHP


    if(isset($_POST["set_lottery"], $_POST["hash"]) AND $_SESSION["lot_hash"] == $_POST["hash"]){
   
        $db->Query("SELECT money_b FROM db_users_b WHERE id = '{$usid}' LIMIT 1");
        if($db->FetchRow() >= $amount_lottery){
       
            $db->Query("UPDATE db_users_b SET money_b = money_b - '$amount_lottery' WHERE id = '{$usid}'");
            $db->Query("INSERT INTO db_lottery (user_id, user, date_add) VALUE ('$usid','$uname','".time()."')");
            $lid = $db->LastInsert();
           
            if( $lid >= $num_bil){
           
                # Розыгрываем призы
                while(true){
               
                    $winner_a = rand(1, $num_bil);
                    $winner_b = rand(1, $num_bil);
                    $winner_c = rand(1, $num_bil);
                    $winner_d = rand(1, $num_bil);
                    $winner_e = rand(1, $num_bil);
                    $winner_f = rand(1, $num_bil);
                   
                    if($winner_a != $winner_b AND $winner_b != $winner_c AND $winner_c != $winner_d AND $winner_d != $winner_e AND $winner_e != $winner_f AND $winner_f != $winner_a) break;
                   
                }
               
                # Пользователь 1
                $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_a'");
                $user_a = $db->FetchRow();
               
                # Пользователь 2
                $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_b'");
                $user_b = $db->FetchRow();
               
                # Пользователь 3
                $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_c'");
                $user_c = $db->FetchRow();
               
                # Пользователь 4
                $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_d'");
                $user_d = $db->FetchRow();
               
                # Пользователь 5
                $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_e'");
                $user_e = $db->FetchRow();
               
                # Пользователь 6
                $db->Query("SELECT user FROM db_lottery WHERE id = '$winner_f'");
                $user_f = $db->FetchRow();
               
                # чистим таблицу
                $db->Query("TRUNCATE TABLE db_lottery");
               
                # Вставляем запись о победителях
                $all_bank = ($num_bil * $amount_lottery);
                $db->Query("INSERT INTO db_lottery_winners (user_a, bil_a, user_b, bil_b, user_c, bil_c, user_d, bil_d, user_e, bil_e, user_f, bil_f, bank, date_add)
                VALUES ('$user_a','$winner_a','$user_b','$winner_b','$user_c','$winner_c','$user_d','$winner_d','$user_e','$winner_e','$user_f','$winner_f','$all_bank','".time()."')");
               
                # Обновляем средства пользователям
                # 1 место
                $money_a = $all_bank * 0.25;
                $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_a' WHERE user = '$user_a'");
                # 2 место
                $money_b = $all_bank * 0.20;
                $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_b' WHERE user = '$user_b'");               
                # 3 место
                $money_c = $all_bank * 0.15;
                $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_c' WHERE user = '$user_c'");               
                # 4 место
                $money_d = $all_bank * 0.10;
                $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_d' WHERE user = '$user_d'");               
                # 5 место
                $money_e = $all_bank * 0.06;
                $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_e' WHERE user = '$user_e'");               
                # 6 место
                $money_f = $all_bank * 0.04;
                $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_f' WHERE user = '$user_f'");
               
                echo "<center><b><font color='green'>Лотерея окончена</font></b></center><BR />";
               
            }else echo "<center><b><font color='green'>Билет успешно куплен</font></b></center><BR />";
           
        }else echo "<center><b><font color='red'>Недостаточно средств для покупки билета</font></b></center><BR />";
       
    }

?>
Там кучу чего надо переделывать, и в самой базе столбы добавлять,
вот примерный код, я себе делал, на 10 билетов, и выигрышные 6 билетов,
а в чем тогда помощь должна заключаться? ты же все сделал...
 

Stas79

Местный
Всех с Новым годом. :) А есть данная лотерея у нас на форуме? Если есть, можете "ткнуть" пальцем. Заранее благодарен.
 
Верх