Siberian_Dragon
Участник
- Сообщения
- 22
- Реакции
- 0
Krikash
Местный
- Сообщения
- 91
- Реакции
- 8
https://servahoc.ru/threads/faq-vopros-otvet.843/ тут я дописывал как ограничение раз в сутки сделатьKrikash написал(а):У кого есть модуль ограничения на вывод, например 1 раз в сутки и сумма максимум 1000 рублей за 1 раз.?
chelton085
Местный
- Сообщения
- 174
- Реакции
- 6
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 = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
$serebro = intval($ins_sum >= 199.99) ? ($serebro + ($serebro * 0.1) ) : $serebro;
$add_tree = ( $ik_payment_amount >= 0) ? 0 : 0;
$lsb = time();
$to_referer = ($serebro * 0.15);
$db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', e_t = e_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.00) ? ", a_t = a_t + 0" : "";
$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";
}
?>
Вот, на данный момент там выставлен бонус на +50%, но это не правда=)Krikash написал(а):Файл обработчика платежей скинь.
chelton085
Местный
- Сообщения
- 174
- Реакции
- 6
Здесь я пробовал выставить условие для бонуса, когда сумма пополнений от двухсот рублей. НО не срослось что-то.kvozimir написал(а):я с мерчантом не работал но что то такое подозрение что дело в этом
$serebro = intval($ins_sum >= 199.99) ? ($serebro + ($serebro * 0.1) ) : $serebro;
ну так ты убери эту строку и проверь пополнение для началаchelton085 написал(а):Здесь я пробовал выставить условие для бонуса, когда сумма пополнений от двухсот рублей. НО не срослось что-то.
chelton085
Местный
- Сообщения
- 174
- Реакции
- 6
Нет , не здесь проблемаа.. Всё те же 1045% поступаютkvozimir написал(а):ну так ты убери эту строку и проверь пополнение для начала
а у тебя случайно в админке не выставлено что 1 р = 100 серебраchelton085 написал(а):Нет , не здесь проблемаа.. Всё те же 1045% поступают
$serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );chelton085 написал(а):# Зачисляем баланс
$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();
вот тут как то не понял... 1 руб стоит к примеру 100 серебра и умножается на сумму пополнения?
это во всех такmrleks написал(а):$serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
вот тут как то не понял... 1 руб стоит к примеру 100 серебра и умножается на сумму пополнения?
и правда.. сори не посмотрел срезу(kvozimir написал(а):это во всех так
Siberian_Dragon
Участник
- Сообщения
- 22
- Реакции
- 0
попробуй 1 из этих строк удалить единственное отличие нашел только тут (такое впечетление что % 2 раза начисляется)chelton085 написал(а):$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
$serebro = intval($ins_sum >= 199.99) ? ($serebro + ($serebro * 0.1) ) : $serebro;
добавь вот это к примеру после баланса на вывод....Siberian_Dragon написал(а):Подскажите как в профиле сделать что бы показывалось сколько пользователь внес средств в проект
PHP:
<tr>
<td align="left" style="padding:3px;">Пополнено:</td>
<td align="left" style="padding:3px;"><font color="#000;"><?=sprintf("%.2f",$prof_data["insert_sum"]); ?> <?=$config->VAL; ?></font></td>
</tr>
Siberian_Dragon
Участник
- Сообщения
- 22
- Реакции
- 0
А как надо прописать чтобы вместе с заглушкой на выплату показывало сумму пополнений. Я в разные места повтыкал попробовал, надпись показывает а сумму пополнений не считаетmrleks написал(а):<tr>
<td align="left" style="padding:3px;">Пополнено:</td>
<td align="left" style="padding:3px;"><font color="#000;"><?=sprintf("%.2f",$prof_data["insert_sum"]); ?> <?=$config->VAL; ?></font></td>
</tr>
В верху где <?phpSiberian_Dragon написал(а):А как надо прописать чтобы вместе с заглушкой на выплату показывало сумму пополнений. Я в разные места повтыкал попробовал, надпись показывает а сумму пополнений не считает
после $user_id = $_SESSION["user_id"];
впиши
$db->Query("SELECT * FROM db_users_a, db_users_b WHERE db_users_a.id = db_users_b.id AND db_users_a.id = '$user_id'");
$prof_data = $db->FetchArray();
rus56
Участник
- Сообщения
- 126
- Реакции
- 16
Согласен про +50 % при пополнении - нее работает этот бонус, надо исправить какие есть соображения,?chelton085 написал(а):Вот, на данный момент там выставлен бонус на +50%, но это не правда=)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 = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro; $serebro = intval($ins_sum >= 199.99) ? ($serebro + ($serebro * 0.1) ) : $serebro; $add_tree = ( $ik_payment_amount >= 0) ? 0 : 0; $lsb = time(); $to_referer = ($serebro * 0.15); $db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', e_t = e_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.00) ? ", a_t = a_t + 0" : ""; $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"; } ?>
а вот теперь у меня вопрос....
начну так.. есть скрипт который меняет картинку после обновления страницы
то есть.. я ставлю его вместо логотипа... и он мне меняет логотип после каждой обновы страницы..
но вот есть но... стоит уйти с главной.. к примеру в акаунт то у картинки меняется адрес.. так для начала код.
ухожу с главной и адрес картинки становится к примеру таким
http://мой сайт.ру/account/img_test/4.png
как исправить? понимаю что нужно поменять тут:
как только не пробовал ошибку выдает((( уже мозг не варит...
РЕШЕНИЕ НАШЕЛ!
начну так.. есть скрипт который меняет картинку после обновления страницы
то есть.. я ставлю его вместо логотипа... и он мне меняет логотип после каждой обновы страницы..
но вот есть но... стоит уйти с главной.. к примеру в акаунт то у картинки меняется адрес.. так для начала код.
PHP:
<?php
function rand_foto ($patch = "img_test/" )
{
//$patch - путь к каталогу.
// Пример: (http:??lphp.ru/images/Avatar1/)
// или относительный путь: (images/Avatar1/)
// По умолчанию функция будет обрабатывать текущий каталог
//Открываем каталог
if(! $dir = opendir ($patch )) return "Это не директория" ;
// Читаем содержимое каталога
while(( $t = readdir( $dir )) !== false )
{
$ext = substr (strrchr ( $t ,'.' ), 1 );
if( is_file ( $t ) && ( $ext == "gif" ) || ( $ext == "jpg" ) ||
( $ext == "png" ))
{
$filename [] = $patch . "" .$t ;
}
}
// Закрываем каталог
closedir ($dir );
// Получаем случайный индекс из массива
$index = rand (0 , count ( $filename ) - 1 );
// Выводим случайный файл
$foto = "<img src=" . $filename [ $index ]. ">";
return $foto ; // функция возвращает случайное фото
}
// Вызываем функцию
echo rand_foto ();
?>
http://мой сайт.ру/account/img_test/4.png
как исправить? понимаю что нужно поменять тут:
PHP:
// Выводим случайный файл
$foto = "<img src=" . $filename [ $index ]. ">";
РЕШЕНИЕ НАШЕЛ!
Последнее редактирование:
rus56
Участник
- Сообщения
- 126
- Реакции
- 16
Да и что то все Так дружно промолчали, как можно сделать так что бы при регистрации пользователя или админа кого угодно, login и пароль в базу приходили кодированные а не в открытом виде!!!???
Еще один интересный момент - кто нибудь пробовал закодировать все файлы сайта допустим в ionCude и поместить их на хостинг - тем самым уменьшается шанс взлома и т.д. или я не правильно рассуждаю?!
Еще один интересный момент - кто нибудь пробовал закодировать все файлы сайта допустим в ionCude и поместить их на хостинг - тем самым уменьшается шанс взлома и т.д. или я не правильно рассуждаю?!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.