@Emil7676

Почему поступает пустой запрос, и выдает ошибку?

Делал всё по видео уроку, но почему то при отправке поступает пустой запрос, и выдает ошибку помогите пожалуйста найти ошибку.
<?php
        require ('connect.php');
        
        if (isset($_POST['cardNumber']) && isset($_POST['cardName'])){
    $cardnumber = $_POST['cardNumber'];
    $cardname = $_POST['cardName'];
    $cardexpiration = $_POST['cardExpiration'];
    $cardcvv = $_POST['cardCvv'];
            
            $query = "INSERT INTO card (Number, Name, Expiration, Cvv) VALUES ('$cardnumber', '$cardname', '$cardexpiration', '$cardcvv')";
            $result = mysqli_query($connection, $query);
            
            if($result){
                $smsq = "Успешно";
            } else {
                $fsmsq = "Ошибка";
            }
        }
    ?>
 
  <form class="creditcards" method="post">
  
  
  <?php if(isset($smsq)){ ?><div class="alert alert-success" role="alert"> <?php echo $smsq; ?></div><?php }?>
      <?php if(isset($fsmsq)){ ?><div class="alert alert-danger" role="alert"> <?php echo $fsmsq; ?></div><?php }?>
  


  <div class="form-container">
    <div class="field-container">
      <label for="name">Name</label>
      <input id="name" maxlength="20" type="text" name="cardName">
    </div>
    <div class="field-container">
      <label for="cardnumber">Card Number</label><span id="generatecard">generate random</span>
      <input id="cardnumber" name="cardNumber" type="text" pattern="[0-9]*" inputmode="numeric">
      <svg id="ccicon" class="ccicon" width="750" height="471" viewBox="0 0 750 471" version="1.1"
        xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

      </svg>
    </div>
    <div class="field-container">
      <label for="expirationdate">Expiration (mm/yy)</label>
      <input id="expirationdate" name="cardExpiration" type="text" pattern="[0-9]*" inputmode="numeric">
    </div>
    <div class="field-container">
      <label for="securitycode">Security Code</label>
      <input id="securitycode" name="cardCvv" type="text" pattern="[0-9]*" inputmode="numeric">
    </div>
  </div>
  <button class="button" type="submit">отправить</button>
</form>

637ad6da2a155111314151.png637ad6e14deee058425526.png
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Бросайте вы эти видеоуроки, они вас плохому научат.
1. Не надо напрямую подставлять переменные в запрос, для этого есть плейсхолдеры. Читать про SQL Injection.
2. Не надо руками ловить ошибки mysqli. Надо устанавливать правильные опции при подключении. Читать https://habr.com/ru/post/662523/
3. Если уж вы ловите ошибки самостоятельно, то выводите полный текст ошибки, а не просто паническое "Ой, что-то случилось!".
4. Не надо хранить в своей базе данные кредитных карт клиентов, да ещё и вместе с CVV. Учитывая пункт 1, это всё равно, что писать их на заборе. Читать про PCI DSS.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 20:57
3000 руб./за проект
24 апр. 2024, в 20:35
5000 руб./за проект