Как из PHP отправить запрос в базу данных?

Может быть в заголовке вопрос задан не так, но нужна помощь. Есть форма на HTML для отправки кода:

    <div class="block-head">Активация бонус-кодов</div>
    <div class="block-body">
        <div class="info_warning">
            На данной странице Вы можете активировать, имеющийся у Вас, промо-код. Промо-коды можно найти на серверах, 
            получить в различных мероприятиях, получить как подарок на какой-либо праздник и т.д. Подробнее о получении и активации 
            Вы можете узнать в разделе <a href="/faq.html"><b>FAQ по проекту</b></a>.
        </div><br>
        Если у Вас есть бонус-код, то для получения различных бонусов введите его на этой странице.
        Благодаря бонус-кодам Вы можете получить:
        <br>
        <ul style="list-style: none;">
            <li>- Различного рода предметы в игре;</li>
            <li>- Денежный бонус на счет;</li>
            <li>- Полноценный статус на сервере.</li>
        </ul>
        <div class="promo_cont_title">Активация промо-кода</div>
        <div class="promo_code_line">
            Активация Вашего промо-кода<br/>
            <span class="promo_code_desc">Введите промо-код в поле</span>
            <div class="promo_block_button">
            <form method="post" action="">
                <input type="text" name="key" value="" placeholder="AAAA-BBBB-CCCC-DDDD" class="promo_tf" maxlength="19" required> 
                <a class="promo_code_info hint cursor" data-original-title="Промо-код обязательно должен состоять из 16 символов, в котором между каждыми 4-мя должен стоять дефис (тире)."><span class="icon-info"></span></a>
                <input type="submit" value="Активировать" class="promo_button">
            </form>
            </div>
            <div style="clear: right;"></div>
        </div>
    </div>
</div>

И есть PHP-код, который проверяет промокод и если он правильный, то обновляет баланс:

  $userID = $_POST['user'];//пример получения id юзера которому идет зачисление
 //if(!ctype_digit($userID)) die('Некорректный id');
  $localhoctlogin= 'login';
  $password = 'pass';
  $database = 'dbname';
  $code = htmlspecialchars($_POST['key']);
  $connection = $mysqli = new mysqli ("127.0.0.1", $localhoctlogin, $password, $database);
  if($connection){
    $mysqli->query ("SET NAMES 'utf8'");
    $getCode = $mysqli->query ("SELECT `price` FROM `promocodes` WHERE `code`='$code' LIMIT 1");
    $result = $getCode ->num_rows;
    @header ("Location: $redicet");
    if($result == '0') die('Неверный промокод');
    else{
       $promo = mysqli_fetch_assoc($getCode);
       $money = $promo['money'];
       $updMoney= $mysqli->query ("UPDATE `dle_users` SET `money` = `money`+'$money' WHERE `userID` = '$userID' LIMIT 1;");
       if($updMoney) echo 'Вам начислено '.$money.' сомони';
       else die('Неожиданная ошибка начисления бонусов');
    }
  }
  else die('Ошибка подключения к базе данных');

Так вот, нужно сделать так, чтобы при нажатии на "Активировать" код обратился к бд и обновил страницу, уже с обновлённым балансом.


Ответы (1 шт):

Автор решения: Pavel

Добавьте:

 $updMoney= $mysqli->query ("UPDATE `dle_users` SET `money` = `money`+'$money' WHERE `userID` = '$userID' LIMIT 1;");
 if($updMoney){
     echo 'Вам начислено '.$money.' сомони';
     $getBalance = $mysqli->query ("SELECT `money` FROM `dle_users` WHERE `userID`='$userID' LIMIT 1");
     $balance = mysqli_fetch_assoc($getCode);
     $balance = $balance['money'];
     echo '<br>Ваш текущий баланс: '.$balance;
  }
 else die('Неожиданная ошибка начисления бонусов');
→ Ссылка