Помогу по Фруктовой Ферме

Niko

Участник
Добрый день всем, кто подскажет, как обновлять баланс сразу после покупки или продажи. Без дополнительной перезагрузки страницы?
 

toyn1990

Участник
неизвестная переменная purse и sum
Пустые переменные.
неизвестная переменная purse и sum
// if($db->FetchRow() == 0){
echo "$purse $sum";
# Заносим выплату пишет надо исправить в строке 118 что мне надо сделать в "$purse $sum"; это строка 118
 

toyn1990

Участник

toyn1990

Участник
так мне надо в бд смотреть
Не согласен.
Ошибка на скрине говорит о том, что переменная не существует, т.е. не объявлена...
А отсутствие переменной и пустота переменной не одно и то же
<td valign="top">
<div class="r_block">

<h1>Заказ выплаты</h1>


<div class="silver-bk">



<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_users_a WHERE id = '$usid' LIMIT 1");
$banned = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$sonfig_purse = $db->FetchArray();

$db->Query("SELECT count(*) FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$sonfig_purs = $db->FetchRow();
#кошель
$db->Query("SELECT * FROM conf_u WHERE user_id = '$usid'");
$us_inf = $db->FetchArray();
#пароль
$db->Query("SELECT * FROM conf_parol_p WHERE user_id = '$usid'");
$us_inf_p = $db->FetchArray();

$db->Query("SELECT count(*) FROM conf_u WHERE user_id = '$usid'");
$us_inf_c = $db->FetchRow();

$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' order by id DESC LIMIT 1");
$frompayments = $db->FetchArray();

# Минималка серебром!
$minPay = 100;
#Максималка серебром
$maxPay = 3500;
# Настраиваем кол-во суток для ограничения.
$nd_timer = 1;

$maxforonepay = 10000*$sonfig_site["ser_per_wmr"]*1000*$user_data["insert_sum"] + 99999*$user_data["from_referals"];


?>
<BR />
<center><img src="/images/logo.png"><p></center>
<BR />
<b>Выплаты осуществляются в автоматическом режиме на платежную систему PAYEER! Процент при выводе составляет 0.95%</b> <BR /><BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />

<b><font color="green">Курс продажи золота: 100 золота = 1 рублю</font></b><BR /><BR />




<?PHP
# Заглушка от халявщиков
if($user_data["insert_sum"] <= 29.99){

?>
<center><font color="red"><b>Вы не можете заказать выплату!<p>Пополните игровой баланс более чем на 30 Rub!</center>

<div class="clr"></div>
</div>
<?PHP

return;
}

?>

<?PHP
# Заглушка привязки кошелька
if($us_inf_c == '0' ){

?>
<br><br><center><font color="blue"><b>Для осуществления выплат необходимо привязать кошелек к аккаунту, сделать это можно в настройках.<b></font></center><BR />

<div class="clr"></div>
</div>
<?PHP

return;
}

?>


<center><b>Заказ выплаты:</b></center><BR />

<?PHP

$ddel = time() + 60*60*1;
$dadd = time();


function ViewPurse($purse){

if( substr($purse,0,1) != "P" ) return false;
if( !ereg("^[0-9]{7,8}$", substr($purse,1)) ) return false;
return $purse;
}
# Проверка на дату выплаты
//$db->Query("SELECT COUNT(*) FROM db_pay_dat WHERE user_id = '$usid' AND date_del > '$dadd'");

// if($db->FetchRow() == 0){
echo "$purse $sum";
# Заносим выплату
if(isset($_POST["purse"])){

$purse = ViewPurse($_POST["purse"]);
$sum = intval($_POST["sum"]);
$val = "RUB";
$p_password = $func->IsPassword($_POST["p_pass"]);



if ($sum <= $maxPay){

if($purse !== false){

if($sum >= $minPay){

//проверяем чтобы кошелек, на который платили раньше был таким же как сейчас для выплат
if ($us_inf["pay_purse"] == $purse)
{
//проверяем платежный пароль
if ($us_inf_p["pay_pass"] == $p_password)
{

if($sum <= $user_data["money_p"]){

if($sum <= $maxforonepay) {

# Проверяем на существующие заявки
$db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
if($db->FetchRow() == 0){

### Устанавливаем лимит на 24 часа по выплатам для $USID
if ($frompayments["date_add"] <= time() - $nd_timer * 86400) {


if($banned["banned_multi"] == 0){


### Делаем выплату ###
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if ($payeer->isAuth())
{

$arBalance = $payeer->getBalance();
if($arBalance["auth_error"] == 0)
{

$sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);

$balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
if( ($balance) >= ($sum_pay)){



$arTransfer = $payeer->transfer(array(
'curIn' => 'RUB', // счет списания
'sum' => $sum_pay, // сумма получения
'curOut' => 'RUB', // валюта получения
'to' => $purse, // получатель (email)
//'to' => '+71112223344', // получатель (телефон)
//'to' => 'P1000000', // получатель (номер счета)
'comment' => iconv('windows-1251', 'utf-8', "Выплата пользователю {$usname} с проекта Asterix and Obelix")
//'anonim' => 'Y', // анонимный перевод
//'protect' => 'Y', // протекция сделки
//'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
//'protectCode' => '12345', // код протекции
));

if (!empty($arTransfer["historyId"]))
{


# Снимаем с пользователя
$db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");

# Вставляем запись в выплаты
$da = time();
$dd = $da + 60*60*24*15;

$ppid = $arTransfer["historyId"];

$db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, payment_id, date_add, status)
VALUES ('$usname','$usid','$purse','$sum_pay','RUB', '$sum','$ppid','".time()."', '3')");

$db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
$db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");


# заносим защиту от большой выплаты и дату
//$db->Query("INSERT INTO db_pay_dat (user, user_id, sum, date_add, date_del) VALUES ('$uname','$usid','$sum','$dadd','$ddel')");
# Случайная очистка устаревших записей
//$db->Query("DELETE FROM db_pay_dat WHERE date_del < '$dadd'");

echo "<center><font color = 'green'><b>Средства успешно выплачены!<p></center><BR />";

}
else
{

echo "<center><font color = 'red'><b>Внутренняя ошибка - сообщите о ней администратору!</b></font></center><BR />";

}


}else echo "<center><font color = 'red'><b>Внутренняя ошибка - сообщите о ней администратору!</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже!</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже!</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Доступ к выплатам заблокирован за нарушение правил проекта!<BR />
Напишите в <a href='/support'>поддержку </a></b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Вы уже получали выплату за последние 24 часа!</b></font></center>";


}else echo "<center><font color = 'red'><b>У вас имеются необработанные заявки. Дождитесь их выполнения!</b></font></center><BR />";
}else echo "<center><font color = 'red'><b>Вы не можете вывести столько средств за один раз [<a href='/limit'>Почему ?</a>] !</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Вы указали больше, чем имеется на вашем счету!</b></font></center><BR />";
}else echo "<center><b><font color = 'red'>Платежный пароль введен не верно!</font></b></center><BR />";
}else echo "<center><b><font color = 'red'>Кошелек, который Вы указали не соответствует привязанному!</font></b></center><BR />";

}else echo "<center><b><font color = 'red'>Минимальная сумма для выплаты - 500 золота!</font></b></center><BR />";


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

}else echo "<center><font color = 'red'><b>Вы можете заказать выплату не более, чем на 100 рублей!</b></font></center><BR />";

}


// }else echo "<center><font color = 'red'><b>Выплаты можно осуществлять не более, чем один раз в час</b></font></center><BR />";

?>

<form action="" method="post">
<table width="99%" border="0" align="center">
<tr>
<td><font color="#EC4D4D;">Введите кошелек Payeer [Пример: P1112457]</font>: </td>
<td><input type="text" name="purse" size="15"/></td>
</tr>

<tr>
<td><font color="#EC4D4D;">Отдаете золота для вывода</font> [Мин. 500]<font color="#EC4D4D;">:</font> </td>
<td><input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15" onkeyup="PaymentSum();" /></td>
</tr>

<tr>
<td><font color="#EC4D4D;">Платежный пароль (устанавливается в настройках):</font></td>
<td><input type="password" size="15" name="p_pass"</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="swap" value="Заказать выплату" style="height: 30px; margin-top:10px;" /></td>
</tr>
</table>
</form>
<script language="javascript">PaymentSum(); SetVal();</script>



<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
<tr>
<td colspan="5" align="center"><h4>Последние 10 выплат</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>
<td align="center" class="m-tb">Дата</td>
<td align="center" class="m-tb">Статус</td>
</tr>
<?PHP

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 20");

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

while($ref = $db->FetchArray()){

?>
<tr class="htt">
<td align="center"><?=$ref["serebro"]; ?></td>
<td align="center"><?=sprintf("%.2f",$ref["sum"] - $ref["comission"]); ?> <?=$ref["valuta"]; ?></td>
<td align="center"><?=$ref["purse"]; ?></td>
<td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
<td align="center"><?=$status_array[$ref["status"]]; ?></td>
</tr>
<?PHP

}

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

?>


</table><div class="clr"></div>
</div> можете подсказать что мне надо вписать
 

pligin

Команда форума
Администратор
<td valign="top">
<div class="r_block">

<h1>Заказ выплаты</h1>


<div class="silver-bk">



<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_users_a WHERE id = '$usid' LIMIT 1");
$banned = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$sonfig_purse = $db->FetchArray();

$db->Query("SELECT count(*) FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$sonfig_purs = $db->FetchRow();
#кошель
$db->Query("SELECT * FROM conf_u WHERE user_id = '$usid'");
$us_inf = $db->FetchArray();
#пароль
$db->Query("SELECT * FROM conf_parol_p WHERE user_id = '$usid'");
$us_inf_p = $db->FetchArray();

$db->Query("SELECT count(*) FROM conf_u WHERE user_id = '$usid'");
$us_inf_c = $db->FetchRow();

$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' order by id DESC LIMIT 1");
$frompayments = $db->FetchArray();

# Минималка серебром!
$minPay = 100;
#Максималка серебром
$maxPay = 3500;
# Настраиваем кол-во суток для ограничения.
$nd_timer = 1;

$maxforonepay = 10000*$sonfig_site["ser_per_wmr"]*1000*$user_data["insert_sum"] + 99999*$user_data["from_referals"];


?>
<BR />
<center><img src="/images/logo.png"><p></center>
<BR />
<b>Выплаты осуществляются в автоматическом режиме на платежную систему PAYEER! Процент при выводе составляет 0.95%</b> <BR /><BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />

<b><font color="green">Курс продажи золота: 100 золота = 1 рублю</font></b><BR /><BR />




<?PHP
# Заглушка от халявщиков
if($user_data["insert_sum"] <= 29.99){

?>
<center><font color="red"><b>Вы не можете заказать выплату!<p>Пополните игровой баланс более чем на 30 Rub!</center>

<div class="clr"></div>
</div>
<?PHP

return;
}

?>

<?PHP
# Заглушка привязки кошелька
if($us_inf_c == '0' ){

?>
<br><br><center><font color="blue"><b>Для осуществления выплат необходимо привязать кошелек к аккаунту, сделать это можно в настройках.<b></font></center><BR />

<div class="clr"></div>
</div>
<?PHP

return;
}

?>


<center><b>Заказ выплаты:</b></center><BR />

<?PHP

$ddel = time() + 60*60*1;
$dadd = time();


function ViewPurse($purse){

if( substr($purse,0,1) != "P" ) return false;
if( !ereg("^[0-9]{7,8}$", substr($purse,1)) ) return false;
return $purse;
}
# Проверка на дату выплаты
//$db->Query("SELECT COUNT(*) FROM db_pay_dat WHERE user_id = '$usid' AND date_del > '$dadd'");

// if($db->FetchRow() == 0){
echo "$purse $sum";
# Заносим выплату
if(isset($_POST["purse"])){

$purse = ViewPurse($_POST["purse"]);
$sum = intval($_POST["sum"]);
$val = "RUB";
$p_password = $func->IsPassword($_POST["p_pass"]);



if ($sum <= $maxPay){

if($purse !== false){

if($sum >= $minPay){

//проверяем чтобы кошелек, на который платили раньше был таким же как сейчас для выплат
if ($us_inf["pay_purse"] == $purse)
{
//проверяем платежный пароль
if ($us_inf_p["pay_pass"] == $p_password)
{

if($sum <= $user_data["money_p"]){

if($sum <= $maxforonepay) {

# Проверяем на существующие заявки
$db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
if($db->FetchRow() == 0){

### Устанавливаем лимит на 24 часа по выплатам для $USID
if ($frompayments["date_add"] <= time() - $nd_timer * 86400) {


if($banned["banned_multi"] == 0){


### Делаем выплату ###
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if ($payeer->isAuth())
{

$arBalance = $payeer->getBalance();
if($arBalance["auth_error"] == 0)
{

$sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);

$balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
if( ($balance) >= ($sum_pay)){



$arTransfer = $payeer->transfer(array(
'curIn' => 'RUB', // счет списания
'sum' => $sum_pay, // сумма получения
'curOut' => 'RUB', // валюта получения
'to' => $purse, // получатель (email)
//'to' => '+71112223344', // получатель (телефон)
//'to' => 'P1000000', // получатель (номер счета)
'comment' => iconv('windows-1251', 'utf-8', "Выплата пользователю {$usname} с проекта Asterix and Obelix")
//'anonim' => 'Y', // анонимный перевод
//'protect' => 'Y', // протекция сделки
//'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
//'protectCode' => '12345', // код протекции
));

if (!empty($arTransfer["historyId"]))
{


# Снимаем с пользователя
$db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");

# Вставляем запись в выплаты
$da = time();
$dd = $da + 60*60*24*15;

$ppid = $arTransfer["historyId"];

$db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, payment_id, date_add, status)
VALUES ('$usname','$usid','$purse','$sum_pay','RUB', '$sum','$ppid','".time()."', '3')");

$db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
$db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");


# заносим защиту от большой выплаты и дату
//$db->Query("INSERT INTO db_pay_dat (user, user_id, sum, date_add, date_del) VALUES ('$uname','$usid','$sum','$dadd','$ddel')");
# Случайная очистка устаревших записей
//$db->Query("DELETE FROM db_pay_dat WHERE date_del < '$dadd'");

echo "<center><font color = 'green'><b>Средства успешно выплачены!<p></center><BR />";

}
else
{

echo "<center><font color = 'red'><b>Внутренняя ошибка - сообщите о ней администратору!</b></font></center><BR />";

}


}else echo "<center><font color = 'red'><b>Внутренняя ошибка - сообщите о ней администратору!</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже!</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже!</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Доступ к выплатам заблокирован за нарушение правил проекта!<BR />
Напишите в <a href='/support'>поддержку </a></b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Вы уже получали выплату за последние 24 часа!</b></font></center>";


}else echo "<center><font color = 'red'><b>У вас имеются необработанные заявки. Дождитесь их выполнения!</b></font></center><BR />";
}else echo "<center><font color = 'red'><b>Вы не можете вывести столько средств за один раз [<a href='/limit'>Почему ?</a>] !</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Вы указали больше, чем имеется на вашем счету!</b></font></center><BR />";
}else echo "<center><b><font color = 'red'>Платежный пароль введен не верно!</font></b></center><BR />";
}else echo "<center><b><font color = 'red'>Кошелек, который Вы указали не соответствует привязанному!</font></b></center><BR />";

}else echo "<center><b><font color = 'red'>Минимальная сумма для выплаты - 500 золота!</font></b></center><BR />";


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

}else echo "<center><font color = 'red'><b>Вы можете заказать выплату не более, чем на 100 рублей!</b></font></center><BR />";

}


// }else echo "<center><font color = 'red'><b>Выплаты можно осуществлять не более, чем один раз в час</b></font></center><BR />";

?>

<form action="" method="post">
<table width="99%" border="0" align="center">
<tr>
<td><font color="#EC4D4D;">Введите кошелек Payeer [Пример: P1112457]</font>: </td>
<td><input type="text" name="purse" size="15"/></td>
</tr>

<tr>
<td><font color="#EC4D4D;">Отдаете золота для вывода</font> [Мин. 500]<font color="#EC4D4D;">:</font> </td>
<td><input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15" onkeyup="PaymentSum();" /></td>
</tr>

<tr>
<td><font color="#EC4D4D;">Платежный пароль (устанавливается в настройках):</font></td>
<td><input type="password" size="15" name="p_pass"</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="swap" value="Заказать выплату" style="height: 30px; margin-top:10px;" /></td>
</tr>
</table>
</form>
<script language="javascript">PaymentSum(); SetVal();</script>



<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
<tr>
<td colspan="5" align="center"><h4>Последние 10 выплат</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>
<td align="center" class="m-tb">Дата</td>
<td align="center" class="m-tb">Статус</td>
</tr>
<?PHP

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 20");

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

while($ref = $db->FetchArray()){

?>
<tr class="htt">
<td align="center"><?=$ref["serebro"]; ?></td>
<td align="center"><?=sprintf("%.2f",$ref["sum"] - $ref["comission"]); ?> <?=$ref["valuta"]; ?></td>
<td align="center"><?=$ref["purse"]; ?></td>
<td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
<td align="center"><?=$status_array[$ref["status"]]; ?></td>
</tr>
<?PHP

}

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

?>


</table><div class="clr"></div>
</div> можете подсказать что мне надо вписать
Для размещения кода на форуме есть специальные BB-коды и кнопка в расширенном редакторе.
Перед строкой
PHP:
echo "$purse $sum";
Переменные $purse и $sum не объявлены.
Также идет попытка выплаты при загрузке страницы. Зачем?
 

toyn1990

Участник
.js + ajax тебе в помощь
Для размещения кода на форуме есть специальные BB-коды и кнопка в расширенном редакторе.
Перед строкой
PHP:
echo "$purse $sum";
Переменные $purse и $sum не объявлены.
Также идет попытка выплаты при загрузке страницы. Зачем?
что нужно сделать неподскажете
 

APTEMOH

Участник
Ошибка на скрине говорит о том, что переменная не существует, т.е. не объявлена...
А отсутствие переменной и пустота переменной не одно и то же
Корректнее сказать так, да.
Как же выглядит ошибка если проверяют переменную, а она пустая?
 

pligin

Команда форума
Администратор
Корректнее сказать так, да.
Как же выглядит ошибка если проверяют переменную, а она пустая?
Что ты подразумеваешь под "проверяют переменную"!
Для проверки существования переменной и пустоты переменной существует empty()
Пример:
PHP:
if(empty($var)){
     echo 'Переменная пустая, либо равна 0, либо не существует';
}
Проверка существования переменной осуществляется при помощи isset()
Пример:
PHP:
if(isset($var)){
     echo 'Переменная существует';
}
Если, к примеру в скрипте происходит использование переменной, которая не объявлена, получается ошибка о неопределенной переменной (проблема выше с $purse и $sum).
Пример:
PHP:
if($sum > 0){
     //что-то делаем
}
НО перед использованием $sum нет никакого упоминания об этой переменной (т.е. она не существует), а именно
PHP:
$sum = 'чему-то';
это и есть объявление переменной
Для избежания таких ошибок требуется проверять существование переменных вышеописанными функциями empty() либо isset() либо продумывать логику скрипта так, чтобы таких ошибок не получалось
 

Andr

Участник
Привет всем! Поставил заглушку на вывод "0" ,выплата не происходит "В данный момент проводятся технические работы. Выплаты временно отключены" помогите пожалуйста разобраться где ошибка! вот код -
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");

# Минималка серебром!
$minPay = 50;
$nd_time = 1;
?>
<div class="s-bk-lf">
<div class="acc-title">Заказ выплаты</div>
</div>
<div class="silver-bk">
<div class="clr"></div>
<center>
<img src="/img/payeer.png"></center>
<br>




Выплаты осуществляются в автоматическом режиме. <br>Процент при выводе составляет 0% <br><br>
Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на большинство известных платежных систем и международных банков.<br><br>
<b>Ссылки на учебные материалы:</b><br>
- <a href="https://payeer.com/?partner=4777897" target="_blank"><b><font color="#737373">Создание счета в </font><font color="blue">Payeer</b></font></a></center></blockquote> <br>
- <a href="http://payeeer.ru/outpay" target="_blank"><b><font color="#737373">Вывод средств из <font color="blue">Payeer</b></font></a></center></blockquote><br><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"])){
$_POST["purse"] = $db->RealEscape($_POST['purse']);

$purse = ViewPurse($_POST["purse"]);
$purse = $db->RealEscape($_POST['purse']);
$sum = intval($_POST["sum"]);
$sum = $db->RealEscape($_POST['sum']);
$val = "RUB";
$sum_pay = sprintf("%.2f",$sum - ($sum * $komitog));

if($purse !== false){

if($sum >= $minPay){

if($sum <= $user_data["money_p"]){

# Проверяем на существующие заявки
$db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
if($db->FetchRow() == 0){



### Делаем выплату ###
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if ($payeer->isAuth())
{
$arBalance = $payeer->getBalance();
if($arBalance["auth_error"] == 0)
{

$balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
if( $arBalance["balance"]["RUB"]["DOSTUPNO"] > $sum_pay){

$arTransfer = $payeer->transfer(array(
'curIn' => 'RUB', // счет списания
'sum' => $sum_pay, // сумма получения
'curOut' => 'RUB', // валюта получения
'to' => $purse, // получатель (email)
//'to' => '+71112223344', // получатель (телефон)
//'to' => 'P1000000', // получатель (номер счета)
'comment' => iconv('windows-1251', 'utf-8', "НОРМ выплата")
//'anonim' => 'Y', // анонимный перевод
//'protect' => 'Y', // протекция сделки
//'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
//'protectCode' => '12345', // код протекции
));

if (!empty($arTransfer["historyId"]))
{


# Снимаем с пользователя
$db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");

# Вставляем запись в выплаты
$da = time();
$dd = $da + 60*60*24*15;

$ppid = $arTransfer["historyId"];

$db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, pay_sys, payment_id, date_add, status)
VALUES ('$usname','$usid', '1', '$purse','$sum_pay','RUB', '$sum', '$ppid','".time()."', '3')");

$db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
$db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");

echo "<center><font color='green'>Успешно выплачено</font></center>";

}
else
{

echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>";

}

}else echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>";

}else echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>";

}else echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>";

}else echo "<center><font color='red'>ERROR...</font></center>";


}else echo "<center><font color='red'>Вы указали больше, чем имеется на вашем счету</font></center>";

}else echo "<center><font color='red'>Минимальная сумма для выплаты составляет {$minPay} серебра</font></center>";

}else echo "<center><font color='red'>Кошелек Payeer указан неверно</font></center>";

}
?>
<div align="center">

<b>Заказ выплаты:</b>

<br>

<?
if(0 <= $user_data["insert_sum"]){
?>
<form action="" method="post">
<table width="70%" border="0" align="center">


<tbody><tr>
<td valign="middle"><font color="#000;">Выберите кошелек для выплаты</font>: </td>
<td>
<input name="purse" class="lg" style="width: 130px">
</td>
</tr>

<tr>
<td valign="middle"><font color="#000;">Отдаете серебро для вывода</font> [Мин. <span id="res_min">50.00</span>]<font color="#000;">:</font> </td>
<td><input type="text" name="sum" id="sum" value="0" size="15" onkeyup="PaymentSum();" class="lg" style="width: 130px"></td>
</tr>
<tr>
<td valign="middle"><font color="#000;">Получаете Payeer <span id="res_val">RUB</span></font><font color="#000;">:</font> </td>
<td>
<input type="text" name="res" id="res_sum" value="0" size="15" disabled="disabled" class="lg" style="width: 130px">
<input type="hidden" name="per" id="RUB" value="100" disabled="disabled">
<input type="hidden" name="per" id="min_sum_RUB" value="0.5" disabled="disabled">
<input type="hidden" name="val_type" id="val_type" value="RUB">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="hidden" name="control_payment" value="28869ce5618a4f9bb8119392c52a446e">
<input type="submit" name="swap" value="ЗАКАЗАТЬ ВЫПЛАТУ" class="button" style="margin-top:10px; width: 300px;"></td>
</tr>
</tbody></table>
</form>
<?
}else echo "<center><font color = 'red'><b>Для активации выплат необходимо пополнить баланс на сумму от 60 рублей!<br>МЫ БЕЗ БАЛЛОВ!</b></font></center><br>";
?>
<script language="javascript">PaymentSum(); SetVal();</script>

<br>

<table cellpadding="3" cellspacing="0" border="0" bordercolor="#336633" align="center" width="99%">
<tbody><tr>
<td colspan="5" align="center"><h4>Ваши последние 20 выплат</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>
<td align="center" class="m-tb">Дата</td>
<td align="center" class="m-tb">Статус</td>
</tr>
<tr><td align="center" colspan="5">Нет записей</td></tr>

</tbody></table>
</div>

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

Вложения

pligin

Команда форума
Администратор
Привет всем! Поставил заглушку на вывод "0" ,выплата не происходит "В данный момент проводятся технические работы. Выплаты временно отключены" помогите пожалуйста разобраться где ошибка! вот код -
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");

# Минималка серебром!
$minPay = 50;
$nd_time = 1;
?>
<div class="s-bk-lf">
<div class="acc-title">Заказ выплаты</div>
</div>
<div class="silver-bk">
<div class="clr"></div>
<center>
<img src="/img/payeer.png"></center>
<br>




Выплаты осуществляются в автоматическом режиме. <br>Процент при выводе составляет 0% <br><br>
Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на большинство известных платежных систем и международных банков.<br><br>
<b>Ссылки на учебные материалы:</b><br>
- <a href="https://payeer.com/?partner=4777897" target="_blank"><b><font color="#737373">Создание счета в </font><font color="blue">Payeer</b></font></a></center></blockquote> <br>
- <a href="http://payeeer.ru/outpay" target="_blank"><b><font color="#737373">Вывод средств из <font color="blue">Payeer</b></font></a></center></blockquote><br><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"])){
$_POST["purse"] = $db->RealEscape($_POST['purse']);

$purse = ViewPurse($_POST["purse"]);
$purse = $db->RealEscape($_POST['purse']);
$sum = intval($_POST["sum"]);
$sum = $db->RealEscape($_POST['sum']);
$val = "RUB";
$sum_pay = sprintf("%.2f",$sum - ($sum * $komitog));

if($purse !== false){

if($sum >= $minPay){

if($sum <= $user_data["money_p"]){

# Проверяем на существующие заявки
$db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
if($db->FetchRow() == 0){



### Делаем выплату ###
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if ($payeer->isAuth())
{
$arBalance = $payeer->getBalance();
if($arBalance["auth_error"] == 0)
{

$balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
if( $arBalance["balance"]["RUB"]["DOSTUPNO"] > $sum_pay){

$arTransfer = $payeer->transfer(array(
'curIn' => 'RUB', // счет списания
'sum' => $sum_pay, // сумма получения
'curOut' => 'RUB', // валюта получения
'to' => $purse, // получатель (email)
//'to' => '+71112223344', // получатель (телефон)
//'to' => 'P1000000', // получатель (номер счета)
'comment' => iconv('windows-1251', 'utf-8', "НОРМ выплата")
//'anonim' => 'Y', // анонимный перевод
//'protect' => 'Y', // протекция сделки
//'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
//'protectCode' => '12345', // код протекции
));

if (!empty($arTransfer["historyId"]))
{


# Снимаем с пользователя
$db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");

# Вставляем запись в выплаты
$da = time();
$dd = $da + 60*60*24*15;

$ppid = $arTransfer["historyId"];

$db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, pay_sys, payment_id, date_add, status)
VALUES ('$usname','$usid', '1', '$purse','$sum_pay','RUB', '$sum', '$ppid','".time()."', '3')");

$db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
$db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");

echo "<center><font color='green'>Успешно выплачено</font></center>";

}
else
{

echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>";

}

}else echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>";

}else echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>";

}else echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>";

}else echo "<center><font color='red'>ERROR...</font></center>";


}else echo "<center><font color='red'>Вы указали больше, чем имеется на вашем счету</font></center>";

}else echo "<center><font color='red'>Минимальная сумма для выплаты составляет {$minPay} серебра</font></center>";

}else echo "<center><font color='red'>Кошелек Payeer указан неверно</font></center>";

}
?>
<div align="center">

<b>Заказ выплаты:</b>

<br>

<?
if(0 <= $user_data["insert_sum"]){
?>
<form action="" method="post">
<table width="70%" border="0" align="center">


<tbody><tr>
<td valign="middle"><font color="#000;">Выберите кошелек для выплаты</font>: </td>
<td>
<input name="purse" class="lg" style="width: 130px">
</td>
</tr>

<tr>
<td valign="middle"><font color="#000;">Отдаете серебро для вывода</font> [Мин. <span id="res_min">50.00</span>]<font color="#000;">:</font> </td>
<td><input type="text" name="sum" id="sum" value="0" size="15" onkeyup="PaymentSum();" class="lg" style="width: 130px"></td>
</tr>
<tr>
<td valign="middle"><font color="#000;">Получаете Payeer <span id="res_val">RUB</span></font><font color="#000;">:</font> </td>
<td>
<input type="text" name="res" id="res_sum" value="0" size="15" disabled="disabled" class="lg" style="width: 130px">
<input type="hidden" name="per" id="RUB" value="100" disabled="disabled">
<input type="hidden" name="per" id="min_sum_RUB" value="0.5" disabled="disabled">
<input type="hidden" name="val_type" id="val_type" value="RUB">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="hidden" name="control_payment" value="28869ce5618a4f9bb8119392c52a446e">
<input type="submit" name="swap" value="ЗАКАЗАТЬ ВЫПЛАТУ" class="button" style="margin-top:10px; width: 300px;"></td>
</tr>
</tbody></table>
</form>
<?
}else echo "<center><font color = 'red'><b>Для активации выплат необходимо пополнить баланс на сумму от 60 рублей!<br>МЫ БЕЗ БАЛЛОВ!</b></font></center><br>";
?>
<script language="javascript">PaymentSum(); SetVal();</script>

<br>

<table cellpadding="3" cellspacing="0" border="0" bordercolor="#336633" align="center" width="99%">
<tbody><tr>
<td colspan="5" align="center"><h4>Ваши последние 20 выплат</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>
<td align="center" class="m-tb">Дата</td>
<td align="center" class="m-tb">Статус</td>
</tr>
<tr><td align="center" colspan="5">Нет записей</td></tr>

</tbody></table>
</div>

<div class="clr"></div>
</div>
Что значит заглушка на вывод 0?
 

pligin

Команда форума
Администратор
Привет всем! Поставил заглушку на вывод "0" ,выплата не происходит "В данный момент проводятся технические работы. Выплаты временно отключены" помогите пожалуйста разобраться где ошибка! вот код -
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");

# Минималка серебром!
$minPay = 50;
$nd_time = 1;
?>
<div class="s-bk-lf">
<div class="acc-title">Заказ выплаты</div>
</div>
<div class="silver-bk">
<div class="clr"></div>
<center>
<img src="/img/payeer.png"></center>
<br>




Выплаты осуществляются в автоматическом режиме. <br>Процент при выводе составляет 0% <br><br>
Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на большинство известных платежных систем и международных банков.<br><br>
<b>Ссылки на учебные материалы:</b><br>
- <a href="https://payeer.com/?partner=4777897" target="_blank"><b><font color="#737373">Создание счета в </font><font color="blue">Payeer</b></font></a></center></blockquote> <br>
- <a href="http://payeeer.ru/outpay" target="_blank"><b><font color="#737373">Вывод средств из <font color="blue">Payeer</b></font></a></center></blockquote><br><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"])){
$_POST["purse"] = $db->RealEscape($_POST['purse']);

$purse = ViewPurse($_POST["purse"]);
$purse = $db->RealEscape($_POST['purse']);
$sum = intval($_POST["sum"]);
$sum = $db->RealEscape($_POST['sum']);
$val = "RUB";
$sum_pay = sprintf("%.2f",$sum - ($sum * $komitog));

if($purse !== false){

if($sum >= $minPay){

if($sum <= $user_data["money_p"]){

# Проверяем на существующие заявки
$db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
if($db->FetchRow() == 0){



### Делаем выплату ###
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if ($payeer->isAuth())
{
$arBalance = $payeer->getBalance();
if($arBalance["auth_error"] == 0)
{

$balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
if( $arBalance["balance"]["RUB"]["DOSTUPNO"] > $sum_pay){

$arTransfer = $payeer->transfer(array(
'curIn' => 'RUB', // счет списания
'sum' => $sum_pay, // сумма получения
'curOut' => 'RUB', // валюта получения
'to' => $purse, // получатель (email)
//'to' => '+71112223344', // получатель (телефон)
//'to' => 'P1000000', // получатель (номер счета)
'comment' => iconv('windows-1251', 'utf-8', "НОРМ выплата")
//'anonim' => 'Y', // анонимный перевод
//'protect' => 'Y', // протекция сделки
//'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
//'protectCode' => '12345', // код протекции
));

if (!empty($arTransfer["historyId"]))
{


# Снимаем с пользователя
$db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");

# Вставляем запись в выплаты
$da = time();
$dd = $da + 60*60*24*15;

$ppid = $arTransfer["historyId"];

$db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, pay_sys, payment_id, date_add, status)
VALUES ('$usname','$usid', '1', '$purse','$sum_pay','RUB', '$sum', '$ppid','".time()."', '3')");

$db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
$db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");

echo "<center><font color='green'>Успешно выплачено</font></center>";

}
else
{

echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>";

}

}else echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>";

}else echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>";

}else echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>";

}else echo "<center><font color='red'>ERROR...</font></center>";


}else echo "<center><font color='red'>Вы указали больше, чем имеется на вашем счету</font></center>";

}else echo "<center><font color='red'>Минимальная сумма для выплаты составляет {$minPay} серебра</font></center>";

}else echo "<center><font color='red'>Кошелек Payeer указан неверно</font></center>";

}
?>
<div align="center">

<b>Заказ выплаты:</b>

<br>

<?
if(0 <= $user_data["insert_sum"]){
?>
<form action="" method="post">
<table width="70%" border="0" align="center">


<tbody><tr>
<td valign="middle"><font color="#000;">Выберите кошелек для выплаты</font>: </td>
<td>
<input name="purse" class="lg" style="width: 130px">
</td>
</tr>

<tr>
<td valign="middle"><font color="#000;">Отдаете серебро для вывода</font> [Мин. <span id="res_min">50.00</span>]<font color="#000;">:</font> </td>
<td><input type="text" name="sum" id="sum" value="0" size="15" onkeyup="PaymentSum();" class="lg" style="width: 130px"></td>
</tr>
<tr>
<td valign="middle"><font color="#000;">Получаете Payeer <span id="res_val">RUB</span></font><font color="#000;">:</font> </td>
<td>
<input type="text" name="res" id="res_sum" value="0" size="15" disabled="disabled" class="lg" style="width: 130px">
<input type="hidden" name="per" id="RUB" value="100" disabled="disabled">
<input type="hidden" name="per" id="min_sum_RUB" value="0.5" disabled="disabled">
<input type="hidden" name="val_type" id="val_type" value="RUB">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="hidden" name="control_payment" value="28869ce5618a4f9bb8119392c52a446e">
<input type="submit" name="swap" value="ЗАКАЗАТЬ ВЫПЛАТУ" class="button" style="margin-top:10px; width: 300px;"></td>
</tr>
</tbody></table>
</form>
<?
}else echo "<center><font color = 'red'><b>Для активации выплат необходимо пополнить баланс на сумму от 60 рублей!<br>МЫ БЕЗ БАЛЛОВ!</b></font></center><br>";
?>
<script language="javascript">PaymentSum(); SetVal();</script>

<br>

<table cellpadding="3" cellspacing="0" border="0" bordercolor="#336633" align="center" width="99%">
<tbody><tr>
<td colspan="5" align="center"><h4>Ваши последние 20 выплат</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>
<td align="center" class="m-tb">Дата</td>
<td align="center" class="m-tb">Статус</td>
</tr>
<tr><td align="center" colspan="5">Нет записей</td></tr>

</tbody></table>
</div>

<div class="clr"></div>
</div>
Заглушку не нашел... Только ограничение минимальной суммы.
Уточни вопрос
 

Andr

Участник
Заглушку не нашел... Только ограничение минимальной суммы.
Уточни вопрос
Поставил мин. на вывод ноль,чтобы проверить работоспособность выплат!,но выплата не происходит echo "<center><font color='red'>В данный момент проводятся технические работы. Выплаты временно отключены</font></center>" ,как и чего исправить чтобы выплаты работали?
 
Верх