1. PHP / Говнокод #19357

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    if ($Module == 'success') MessageSend(3, 'успешно', '/');
    else if ($Module == 'fail') MessageSend(1, 'Невозможно', '/');
    if ($_POST['LMI_PREREQUEST'] == 1) {
    if ($_POST['LMI_PAYEE_PURSE'] == 'Rкошелек') echo 'YES';
    } else {
    $key = $_POST['LMI_PAYEE_PURSE'].$_POST['LMI_PAYMENT_AMOUNT'].$_POST['LMI_PAYMENT_NO'].$_POST['LMI_MODE'].$_POST['LMI_SYS_INVS_NO'].$_POST['LMI_SYS_TRANS_NO'].$_POST['LMI_SYS_TRANS_DATE'].'Сикретный ключь'.$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM'];	
    if (strtoupper(hash('sha256', $key)) != $_POST['LMI_HASH']) exit;
    $ID = FormChars($_POST['id']);
    $Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `login`, `webmoney` FROM `users` WHERE `id` = $ID"));
    if ($Row['login']) mysqli_query($CONNECT, "INSERT INTO `payment` VALUES('', '$Row[login]', $_POST[LMI_PAYMENT_AMOUNT], $_POST[Data])");
    
    $Rub = $Row['webmoney'] + $_POST['LMI_PAYMENT_AMOUNT'];
    
    mysqli_query($CONNECT, "UPDATE `users`  SET `webmoney` = $Rub WHERE `id` = $ID");
    
    }

    Ребят подскажите пожалуста , мне кажется этот код бред использовать . обратите внимание на последних 2 строчки , я их сам написал чтобы вывести общии баланс пользователя. все работает ! а предчуствие хреновое

    Запостил: viktor, 28 Января 2016

    Комментарии (8) RSS

    • три раза обращатся к базе мне кажется это глупо
      Ответить
    • > все работает
      > а предчуствие хреновое
      Правильное предчувствие. Транзакций то нету.
      Ответить
      • расталкуи пожалуста
        Ответить
        • Не должно быть ситуаций когда запрос на снятие прошел а запрос на зачисление нет (или наоборот). Или все прошло успешно, или все отменяется нафиг.
          Читай что такое транзакции в БД.
          Ответить
          • Да с платежами вообще боль... Там и рейс-кондишены между коллбеком, браузером и добивалкой в cron'е. И всякие "невероятные" кейсы типа "коллбек провёл платёж, собрался отправлять ответ, а инет пропал". И даже с транзакциями есть шанс залететь на бабки или расстроить юзеров...
            Ответить
    • я уже думаю оставить этот модуль веб мани , да сделать себе робокассу.
      я модуль робокасса сегодня весь день мурыжу ни хрена не получается!
      мозг кипит а монитор жалко.
      может вы ребят подскажите ? как лучше реализовать модуль робокасса на сайте
      вот ссылка на документацию по установки модуля к себе на сайт http://docs.robokassa.ru/#1048
      Ответить
    • в разделе Установка и настройка скрипта (модуля) ROBOKASSA
      там есть примеры
      Ответить

    Добавить комментарий