Rozenbaund
Участник
- Сообщения
- 19
- Реакции
- 0
Пользователь пополняет баланс от 1 рубля и ему начисляется бонус 100% при пополнении.
Чтобы получить бонус нужно пополнить баланс от 1 рубля и до 2000
Какое значения нужно вставить.
Помогите, пожалуйста!
Вот код:
Чтобы получить бонус нужно пополнить баланс от 1 рубля и до 2000
Какое значения нужно вставить.
Помогите, пожалуйста!
Вот код:
PHP:
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
Последнее редактирование модератором:
- Сообщения
- 322
- Реакции
- 72
PHP:
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro; // говорит о том, что при первом поплнении получишь бонус 50%
PHP:
if ($xxxx >= 1 AND $xxxx <= 2000) $serebro *= 2; //$xxxx имя переменной, в которой хранится сумма пополнения
Последнее редактирование модератором:
Rozenbaund
Участник
- Сообщения
- 19
- Реакции
- 0
Спасибо большое, очень сильно помог мне, все отлично работает!MegaGoblin написал(а):Для бонуса в 100% от суммы пополненияPHP:$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro; // говорит о том, что при первом поплнении получишь бонус 50%
PHP:if ($xxxx >= 1 AND $xxxx <= 2000) $serebro *= 2; //$xxxx имя переменной, в которой хранится сумма пополнения
Rozenbaund
Участник
- Сообщения
- 19
- Реакции
- 0
- Сообщения
- 322
- Реакции
- 72
Я же писал выше, что это код для первого пополнения.Rozenbaund написал(а):Помогите пожалуйста как настроить 10% при каждом пополнении я уже второй день голову себе ломаю.
Вот код:
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
PHP:
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro; // говорит о том, что при первом поплнении получишь бонус 50%
https://servahoc.ru/threads/50-pri-popolnenii.1595/#post-19693
В твоем случае надо не на 1.5 умножать, а на 1.1
Rozenbaund
Участник
- Сообщения
- 19
- Реакции
- 0
Вместо этой строки:MegaGoblin написал(а):Я же писал выше, что это код для первого пополнения.
И это я уже описывал тутPHP:$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro; // говорит о том, что при первом поплнении получишь бонус 50%
https://servahoc.ru/threads/50-pri-popolnenii.1595/#post-19693
В твоем случае надо не на 1.5 умножать, а на 1.1
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
Написал эту:
$serebro = $serebro *1.1;
Вношу 1 рубль и должно прийти 1.10 а приходит 1.32
- Сообщения
- 322
- Реакции
- 72
Значит еще что-то где-то написал ты, или сумма приходит не 1 рубль. Скинь код весьRozenbaund написал(а):Вместо этой строки:
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
Написал эту:
$serebro = $serebro *1.1;
Вношу 1 рубль и должно прийти 1.10 а приходит 1.32
Rozenbaund
Участник
- Сообщения
- 19
- Реакции
- 0
Вот кодMegaGoblin написал(а):Значит еще что-то где-то написал ты, или сумма приходит не 1 рубль. Скинь код весь
PHP:
<?PHP
# Автоподгрузка классов
function __autoload($name){ include("classes/_class.".$name.".php");}
# Класс конфига
$config = new config;
# Функции
$func = new func;
# База данных
$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);
if (isset($_POST["m_operation_id"]) && isset($_POST["m_sign"]))
{
$m_key = $config->secretW;
$arHash = array($_POST['m_operation_id'],
$_POST['m_operation_ps'],
$_POST['m_operation_date'],
$_POST['m_operation_pay_date'],
$_POST['m_shop'],
$_POST['m_orderid'],
$_POST['m_amount'],
$_POST['m_curr'],
$_POST['m_desc'],
$_POST['m_status'],
$m_key);
$sign_hash = strtoupper(hash('sha256', implode(":", $arHash)));
if ($_POST["m_sign"] == $sign_hash && $_POST['m_status'] == "success")
{
$db->Query("SELECT * FROM db_payeer_insert WHERE id = '".intval($_POST['m_orderid'])."'");
if($db->NumRows() == 0){ echo $_POST['m_orderid']."|error"; exit;}
$payeer_row = $db->FetchArray();
if($payeer_row["status"] > 0){ echo $_POST['m_orderid']."|success"; exit;}
$db->Query("UPDATE db_payeer_insert SET status = '1' WHERE id = '".intval($_POST['m_orderid'])."'");
$ik_payment_amount = $payeer_row["sum"];
$user_id = $payeer_row["user_id"];
# Настройки
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
$db->Query("SELECT user, referer_id FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");
$user_ardata = $db->FetchArray();
$user_name = $user_ardata["user"];
$refid = $user_ardata["referer_id"];
# Зачисляем баланс
$serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
$db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1");
$ins_sum = $db->FetchRow();
$serebro = $serebro *1.1;
$add_tree = ( $ik_payment_amount >= 499.99) ? 0 : 0;
$lsb = time();
$to_referer = ($serebro * 0.20);
$db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', d_t = d_t + '$add_tree', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount' WHERE id = '{$user_id}'");
# Зачисляем средства рефереру и дерево
$add_tree_referer = ($ins_sum <= 0.01) ? ", a_t = a_t + 1" : "";
$db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");
# Статистика пополнений
$da = time();
$dd = $da + 60*60*24*15;
$db->Query("INSERT INTO db_insert_money (user, user_id, money, serebro, date_add, date_del)
VALUES ('$user_name','$user_id','$ik_payment_amount','$serebro','$da','$dd')");
# Обновление статистики сайта
$db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");
echo $_POST['m_orderid']."|success";
exit;
}
echo $_POST['m_orderid']."|error";
}
?>
- Сообщения
- 322
- Реакции
- 72
Rozenbaund
Участник
- Сообщения
- 19
- Реакции
- 0
Все правильно начисляется в другом аккаунте, я был как юзером и рефералом самого себя. Спасибо.MegaGoblin написал(а):Сколько у тебя серебра за 1 рубль? 100?
И еще похоже что твой юзер является рефералом самого себя.
Сначала он получил 1.1, а потом еще
$to_referer = ($serebro * 0.20); // 1.1 * 0.2 = 0.22
Вот и получается эти 1.32
ForeverRED66
Участник
- Сообщения
- 18
- Реакции
- 0
Подскажите мне как поступать, чето не догоняю....что бы сделать бонус на первое пополнение?Хотя и на постоянный уж то же сразу...
PHP:
<?
/// db_payeer_insert
if(isset($_POST["sum"])){
$sum = round(floatval($_POST["sum"]),2);
$serebro = intval($sum <= 0.01) ? ($serebro + ($serebro * 0.1) ) : $serebro;
if ($sum>= 1 AND $sum<= 2000) $serebro *= 1.3; //$xxxx имя переменной, в которой хранится сумма пополнения
# Заносим в БД
$db->Query("INSERT INTO db_payeer_insert (user_id, user, sum, date_add) VALUES ('".$_SESSION["user_id"]."','".$_SESSION["user"]."','$sum','".time()."')");
$desc = base64_encode($_SERVER["HTTP_HOST"]." - USER ".$_SESSION["user"]);
$m_shop = $config->shopID;
$m_orderid = $db->LastInsert();
$m_amount = number_format($sum, 2, ".", "");
$m_curr = "RUB";
$m_desc = $desc;
$m_key = $config->secretW;
$arHash = array(
$m_shop,
$m_orderid,
$m_amount,
$m_curr,
$m_desc,
$m_key
);
$sign = strtoupper(hash('sha256', implode(":", $arHash)));
?>
Последнее редактирование:
- Сообщения
- 322
- Реакции
- 72
ForeverRED66
Участник
- Сообщения
- 18
- Реакции
- 0
Это я дописал его, он не работает , возможно потому что $serebro он не знает что такое (хотя в базе есть serebro), но при пополнении никаких ошибок нет.MegaGoblin написал(а):Так по умолчанию же сразу стоит бонус на первое пополнение
наверно что то изменить вот тут можно для постоянного бонуса,но я не догоняю как(
PHP:
/// db_payeer_insert
if(isset($_POST["sum"])){
$sum = round(floatval($_POST["sum"]),2);
$serebro = intval($sum <= 0.01) ? ($serebro + ($serebro * 0.1) ) : $serebro;
if ($sum>= 1 AND $sum<= 2000) $serebro *= 1.3; //$xxxx имя переменной, в которой хранится сумма пополнения
Последнее редактирование:
- Сообщения
- 322
- Реакции
- 72
ForeverRED66
Участник
- Сообщения
- 18
- Реакции
- 0
Как мне изменить надо тогда?MegaGoblin написал(а):Чуть выше же я писал
У тебя не с той переменной идет сравнениеPHP:$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro; // говорит о том, что при первом поплнении получишь бонус 50%
- Сообщения
- 322
- Реакции
- 72
Я же написал. Сравни эту строку у меня и у себя - найди отличия.ForeverRED66 написал(а):Как мне изменить надо тогда?
ForeverRED66
Участник
- Сообщения
- 18
- Реакции
- 0
# Зачисляем балансMegaGoblin написал(а):Я же написал. Сравни эту строку у меня и у себя - найди отличия.
$serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
$db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1");
$ins_sum = $db->FetchRow();
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.1) ) : $serebro; // если поставить так то смысл не изменяется
if ($sum>= 1 AND $sum<= 2000) $serebro *= 1.3; //$xxxx имя переменной, в которой хранится сумма пополнения
ForeverRED66
Участник
- Сообщения
- 18
- Реакции
- 0
- Сообщения
- 322
- Реакции
- 72
Забавно =) Хорошо что увидел)ForeverRED66 написал(а):Косяк найден,не в том файле все правил))