Jerihon1
Местный
- Сообщения
- 40
- Реакции
- 0
Такая проблема при нажатии на кнопку купить билет ничего не происходит.
Код:
<div class="alct">
<center><h2>Лотерея</h2></center>
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Лотерея";
$usid = $_SESSION["user_id"];
$uname = $_SESSION["user"];
# Настройки лотерея
$amount_lottery = 100; // Стоимость лотерейного билета
$num_bil = 10; // Количество билетов
?>
<div class="descr">
<?PHP
# список предыдущих лотерей
if(isset($_GET["winners"])){ ?>
Пока твои рабы заняты своими непосильными обязанностями, почему бы тебе не поучаствовать в нашей лотерее?<br><br>
Всего в продаже на каждый тур лотереи имеется <b><?=$num_bil; ?></b> билетов. После того, как все билеты будут проданы состоится розыгрыш. Система случайным образом выберет <b>3</b> номера победителей и зачислит им призы. <br><br>
1 место - <b>45% от общего банка</b> (<?=($amount_lottery * $num_bil) * 0.45; ?> денариев). <br>
2 место - <b>25% от общего банка</b> (<?=($amount_lottery * $num_bil) * 0.25; ?> денариев). <br>
3 место - <b>20% от общего банка</b> (<?=($amount_lottery * $num_bil) * 0.20; ?> денариев). <br>
Остальные 10% составляют комиссию игры.
<br><br>
Стоимость одного билета - <b><?=$amount_lottery; ?> денариев</b>.
<br>
</div>
<div class="decor"></div>
<div class="descr">
<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
<tr>
<br><br>
<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">Пользователь<BR />[Билет]</td>
<td align="center" class="m-tb">Пользователь<BR />[Билет]</td>
<td align="center" class="m-tb">Банк</td>
<td align="center" class="m-tb">Дата</td>
</tr>
</div>
<?PHP
$db->Query("SELECT * FROM db_lottery_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["user_b"]; ?><BR />Билет: <?=$ref["bil_b"]; ?></td>
<td align="center"><?=$ref["user_c"]; ?><BR />Билет: <?=$ref["bil_c"]; ?></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; } ?>
Пока твои рабы заняты своими непосильными обязанностями, почему бы тебе не поучаствовать в нашей лотерее?<br><br>
Всего в продаже на каждый тур лотереи имеется <b><?=$num_bil; ?></b> билетов. После того, как все билеты будут проданы состоится розыгрыш. Система случайным образом выберет <b>3</b> номера победителей и зачислит им призы. <br><br>
1 место - <b>30% от общего банка</b> (<?=($amount_lottery * $num_bil) * 0.30; ?> денариев). <br>
2 место - <b>25% от общего банка</b> (<?=($amount_lottery * $num_bil) * 0.25; ?> денариев). <br>
3 место - <b>20% от общего банка</b> (<?=($amount_lottery * $num_bil) * 0.2; ?> денариев). <br>
Остальные 25% составляют комиссию игры.
<br><br>
Стоимость одного билета - <b><?=$amount_lottery; ?> денариев</b>.
<br>
</div>
<div class="decor"></div>
<br><br>
<div class="descr2">
<center><a href="/account/lottery/winners">Список завершенных лотерей</a></center><br>
<?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);
if($winner_a != $winner_b AND $winner_b != $winner_c AND $winner_c != $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();
# чистим таблицу
$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, bank, date_add)
VALUES ('$user_a','$winner_a','$user_b','$winner_b','$user_c','$winner_c','$all_bank','".time()."')");
# Обновляем средства пользователям
# 1 место
$money_a = $all_bank * 0.5;
$db->Query("UPDATE db_users_b SET money_b = money_b + '$money_a' WHERE user = '$user_a'");
# 2 место
$money_b = $all_bank * 0.25;
$db->Query("UPDATE db_users_b SET money_b = money_b + '$money_b' WHERE user = '$user_b'");
# 3 место
$money_c = $all_bank * 0.20;
$db->Query("UPDATE db_users_b SET money_b = money_b + '$money_c' WHERE user = '$user_c'");
echo "<center><b><font color='blue'>Лотерея окончена</font></b></center><BR />";
}else echo "<center><b><font color='blue'>Билет успешно куплен</font></b></center><BR />";
}else echo "<center><b><font color='blue'>Недостаточно денариев для покупки билета!</font></b></center><BR />";
}
?>
<center>
<?PHP
$_SESSION["lot_hash"] = rand(1, 9999999);
?>
<form action="" method="post">
<input type="submit" name="set_lottery" value="Купить билет" class="ticketbutton" style="padding:7px;">
<input type="hidden" name="hash" value="<?=$_SESSION["lot_hash"]; ?>">
</form>
</center>
<br>
</div>
<div class="decor"></div>
<div class="descr2">
<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_lottery 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>
<br><br><br>
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
Почитай ман по функции isset()Jerihon написал(а):isset($_POST["set_lottery"], $_POST["hash"])
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
Ты прочитал?Jerihon написал(а):и в чем проблема
Jerihon1
Местный
- Сообщения
- 40
- Реакции
- 0
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
А дальше читал? Смотрел примеры?Jerihon написал(а):isset - Определяет, была ли установлена переменная значением отличным от NULL
"ПЕРЕМЕННАЯ", т.е. isset($var).
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
Понял, принял, закрепил...Jerihon написал(а):мне б решение, я не силен особо
Это
Замени наJerihon написал(а):if(isset($_POST["set_lottery"], $_POST["hash"]) AND $_SESSION["lot_hash"] == $_POST["hash"])
Код:
if(isset($_POST["set_lottery"]) AND isset($_POST["hash"]) AND $_SESSION["lot_hash"] == $_POST["hash"])
Jerihon1
Местный
- Сообщения
- 40
- Реакции
- 0
ошибку выдает
Вложения
-
2 KB Просмотры: 80
В index.php в корне, послеJerihon написал(а):ошибку выдает
PHP:
# Старт буфера
ob_start();
PHP:
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
Jerihon1
Местный
- Сообщения
- 40
- Реакции
- 0
код прописал все тоже самое. при нажатии купить билет ничего не происходитpligin написал(а):Понял, принял, закрепил...
Это
Замени на
Код:if(isset($_POST["set_lottery"]) AND isset($_POST["hash"]) AND $_SESSION["lot_hash"] == $_POST["hash"])
serega393
Местный
- Сообщения
- 43
- Реакции
- 1
вывод ошибок включал? выше писал артемон...Jerihon написал(а):проблема не решена
Jerihon1
Местный
- Сообщения
- 40
- Реакции
- 0
не выводит никаких ошибокserega393 написал(а):вывод ошибок включал? выше писал артемон...
Jerihon1
Местный
- Сообщения
- 40
- Реакции
- 0
serega393
Местный
- Сообщения
- 43
- Реакции
- 1
в самом верху этого файла (который в первом посте) напишиJerihon написал(а):ну точнее с этим модулем не выводит, а так ошибки выводит
Код:
<?php print_r($_POST); ?>
Jerihon1
Местный
- Сообщения
- 40
- Реакции
- 0
serega393
Местный
- Сообщения
- 43
- Реакции
- 1
а теперь такую запись добавь также вверхуJerihon написал(а):Array ( [set_lottery] => Купить билет [hash] => 9967894 )
Код:
<?php echo isset($_SESSION['lot_hash']) ? $_SESSION['lot_hash'] : 'Что то пошло не так...'; ?>