PHP - Проверка промокода

241
25 сентября 2017, 03:56

Делаю систему промокодов. Не могу понять где допустил ошибку.

function.php:

 public function Promo() {
    $promo = (isset($_POST['promocodes']));
    $result = $this->db->query('SELECT * FROM promocodes WHERE promocode = '.$promo.'');
    $row_cnt = $result->num_rows;
    if($row_cnt >= 1) {
        $row = mysqli_fetch_array($result);
        if($row['usable'] == 0) {
            $this->db->query("UPDATE users SET money = (money+".$row['money'].") WHERE steamid= '".$_SESSION['steamid']."'");
            $this->db->query("UPDATE promocodes SET usable=1, steamid = '".$_SESSION['steamid']."' WHERE `promocode`='$promo'");
            $result1 = $this->db->query('SELECT * FROM users WHERE steamid = "'.$_SESSION['steamid'].'"');
            $user = mysqli_fetch_array($result1, MYSQLI_ASSOC);
            echo json_encode(array("error"=>0, "message"=>"Промокод активирован!","Баланс"=>$user['money']));
        }
         else {
            echo json_encode(array("error"=>1, "message"=>"Промокод уже активирован"));
        }
    } else {
        echo json_encode(array("error"=>1, "message"=>"Промокод не найден"));
    }
    }

promo.js:

function Promo() {
var txt = $('.promotxt').val();
$.post('/function.php', { 
    function: "Promo", 
    promo: txt
}, function( data ) {
    var data = JSON.parse(data);
    if(data.error == 0) {
        var n = noty({
            text: data.message,
            theme: 'relax',
            animation: {
                open: 'animated bounceInLeft', // Animate.css class names
                close: 'animated bounceOutLeft', // Animate.css class names
                easing: 'swing', // unavailable - no need
                speed: 500 // unavailable - no need
            },
            timeout: 3000
        });
        $('#balanceTXT').text(data.balance);
    } else {
        var n = noty({
            text: data.message,
            theme: 'relax',
            animation: {
                open: 'animated bounceInLeft', // Animate.css class names
                close: 'animated bounceOutLeft', // Animate.css class names
                easing: 'swing', // unavailable - no need
                speed: 500 // unavailable - no need
            },
            timeout: 3000
        });
    }
});
}

Форма:

   <lable>PROMO</lable>
    <form>
   <input class="promo" type="text">
    <button class="btn" onClick="Promo()">Active</button>
     </form>
READ ALSO
Помогите с SELECT COUNT(), не хочет работать

Помогите с SELECT COUNT(), не хочет работать

Добрый день, есть постраничное разбитие (например по 20 на страницу)Пытаюсь перейти на PDO и не выходит, помогите плс кто в теме

322
Работа с текстовыми форматами epub, fb2 в php

Работа с текстовыми форматами epub, fb2 в php

Возник такой вопрос: можно ли создать и/или открыть файлы формата epub/fb2 в php? Если это возможно, опишите где можно либо прочитать об этом, либо...

309
Сортировка запроса SQL в CodeIgniter

Сортировка запроса SQL в CodeIgniter

Интересует наличие встроенных средств в CodeIgniter для сортировки запросаТребование, чтобы в начале были записи с определенным значением столбца

210
Алгоритм Брезенхема c++

Алгоритм Брезенхема c++

Помогите найти ошибку в мейне, при вводе 1 10 3 6 откуда-то появляются числа 33 и 0

240