首页 > 解决方案 > PHP 7.4 中有什么错误以及如何解决这个问题?

问题描述

我尝试使用 MySQL 和 PHP 在我的网站上制作一个表单,但它没有在数据库中保存任何内容,但来自网站的视图并不像有错误。什么是错误以及如何解决它,所以我希望你能解决这个问题。我认为错误在执行中,但我不确定 a 并且我无法解决它。

$dcuser = $_POST["user"];
$tmpuser = $_POST["tmpuser"];
$spedi = $_POST["spedi"];
$selecte = $_POST["selecte"];
$data = $_POST["data"];
$save = $_POST["save"];

$test2 = [$dcuser, $tmpuser, $spedi, $selecte, $data, $save];

if (!isset($dcuser)) {
   echo("test");
}
else{
   if (!isset($tmpuser)) {
       echo("test");
   }
   else {
       if (!isset($spedi)) {
           echo("test");
       }
       else {
           if (!isset($selecte)) {
               echo("test");
           }
           else {
               if (!isset($data)) {
                   echo("test");
               }
               else {
                   if (!isset($save)) {
                       echo("test");
                   }
                   else {
                       echo($test2->a);
                   }
               }
           }
       }
   }
}

$DATABASE_HOST = 'localhost';
$DATABASE_USER = 'user';
$DATABASE_PASS = 'pw';
$DATABASE_NAME = 'form';

$con = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);

$test[] = $_POST['user'];
$test[] = $_POST['tmpuser'];
$test[] = $_POST['spedi'];
$test[] = $_POST['selecte'];
$test[] = $_POST['data'];
$test[] = $_POST['save'];

$statement = $con->prepare("INSERT INTO konvoi (user, tmpuser, spedi, selecte, daten, save) VALUES (?, ?, ?, ?, ?, ?)");
$statement->execute(array($test[0], $test[1], $test[2], $test[3], $test[4], $test[5]));

if(isset($dcuser)) {
 if(isset($tmpuser)) {
   if(isset($spedi)) {
     if(isset($selecte)) {
       if(isset($data)) {
         if(isset($save)) {
           echo '<p>User: '.$test[0].'</p>';
           echo '<p>TMP: '.$test[1].'</p>';
           echo '<p>Spedi: '.$test[2].'</p>';
           echo '<p>selecte: '.$test[3].'</p>';
           echo '<p>Data: '.$test[4].'</p>';
           echo '<p>Save: '.$test[5].'</p>';
         }  else {
           echo 'test6';
         }
       }  else {
         echo 'test5';
       }
     }  else {
       echo 'test4';
     }
   }  else {
     echo 'test3';
   }
 }  else {
   echo 'test2';
 }
} else {
 echo 'test1';
} 

HTML:

  <form action="convoi.php" method="post">
        <input class="input" type="text" placeholder="Discord Username" name="user" required>
        <br>
        <input class="input" type="text" placeholder="TMP Username" name="tmpuser" required>
        <br>
        <input class="input" type="text" placeholder="Spedition" name="spedi" required>
        <br>
        <label class="frage">Wie hast du von dem Konvoi erfahren?:
          <br>
          <select name = "selecte" class="option" required>
                <option>Eigene Spedition</option>
                <option>Anderer Spedition</option>
                <option>Unsere Internetseite</option>
                <option>Werbung von einem Spieler</option>
            <option>Sonstiges</option>
            <option>Keine Angabe</option>
            </select>
        </label>
          <br>
        <p class="datenschutz"><input type="checkbox" name="data" required>Ich aktzeptiere die <a class="data" href="https://otendex.de/datenschutz/#">Datenschutzbestimmungen </a></p>
        <p class="datenschutz"><input type="checkbox" name="save" required> Ich stimme zu das meine Daten gespeichert werden</p>
        </input>
        <div class="h-captcha" style="text-align: center"data-sitekey="22995024-4ceb-4169-a763-d81020ed4eea"></div>
        <button class="button" type="submit" value="Absenden">
          Absenden
        </button>
      </form>```

标签: phpmysqlforms

解决方案


您是否尝试过使用

   echo $statement->execute

在 $statement-> 执行之后。如果是数据库错误,它会在屏幕上打印出来吗?


推荐阅读