首页 > 解决方案 > MySQL / PHP - 表格没有从我的表单中获取信息

问题描述

我在前端有一个表单,用户可以在其中输入内容。

当我在表格中输入我的信息并提交时,数据库仅收集 5 个信息中的 2 个。1个对的,一个错的。我一直试图找到一个解决方案 6 个小时,但我失败了。

当我使用“ if($_SERVER['REQUEST_METHOD'] == 'POST') { ”

在前面的“ if($current_user->user_login == ""){ ”站点刚刚刷新,没有信息进入数据库。

当我不使用它时,将创建 2 个新列。一个在我进入网站时,一个在我提交表格后。(仅包含 2 个信息。)

“用户名”是正确的。“plaetze”是错误的(一直显示 0)其他 3 甚至没有得到信息。

数据库中的信息图片

我的 PHP/SQL 代码:

$host="localhost"; 
 $username="xxx"; 
 $password="xxx";
 $db_name="xxxx"; 
 $tbl_name="xxxx"; 

 $link = mysqli_connect($host, $username, $password, $db_name);
 $current_user = wp_get_current_user();

if(mysqli_connect_error()){
    die("Es gab einen Fehler beim Verbinden zur Datenbank");
}


if($current_user->user_login == ""){
  echo "Bitte logge dich ein damit du ein Angebot abschicken kannst";

} else {
$username = $current_user->user_login;
$plaetze = $_POST['anzahlplaetzeselect'];
$gender = $_POST['genderselect'];
$kosten = $_POST['unchoice'];
$bemerkung = $_POST['apkostenfreibemerkung'];

$query = "INSERT INTO $tbl_name(username, plaetze, genderchoice, kosten, kostenbemerkung) VALUES('$username', '$plaetze', '$gender', '$kosten', '$bemerkung')";
  if (mysqli_query($link, $query)) {
    echo "<p> Dein Angebot wurde erfolgreich erstellt </p>";
  } else {
    echo "<p>Fail!</p>";
  }
}
 ?>

我的表格:

<button type="button" id="ubernachtungenAKtivieren" class="btn">Eine Übernachtung anbieten</button>

<div id="ubernachtungsformdiv">

<form type="post" name="ubernachtungform" id="ubernachtungsform">

  <div class="form-group">
    <?php
          if ( !($current_user instanceof WP_User) )
          return;
     ?>
     <p> <b>Dein Benutzername:</b> <a href="<?php echo 'https://examplexxxx' . bp_core_get_username( get_current_user_id() ) . '/profile/' ?> "> <?php echo $current_user->user_login ?> </a></p>
  </div>

   <div class="form-group">
   <label for="anzahlplätze">Wie viele Übernachtungsplätze bietest du an?</label>
   <select class="form-control" name="anzahlplaetzeselect" id="anzahlplaetzeselect">
     <option value="1">1</option>
     <option value="2">2</option>
     <option value="3">3</option>
     <option value="4">4</option>
     <option value="5">5</option>
     <option value="6">6</option>
     <option value="7">7</option>
     <option value="8">8</option>
     <option value="9">9</option>
     <option value="10">10</option>
   </select>

</div>

<div class="form-group">
<label for="genderselect">Ich nehme nur...</label>
<select class="form-control" name="genderselect" id="genderselect">
  <option value="maenner">Männer auf</option>
  <option value="frauen">Frauen auf</option>
  <option value="egal">Egal ob Mann oder Frau auf</option>
</select>

</div>

    <div class="input-group">
      <label>Wie viel kostet eine Übernachtung bei Dir?</label>
    </div>

    <div class="input-group">
      <input type="radio" id="apkostenfrei" name="unchoice" value="apkostenfrei" checked="checked" >
      <label for="apkostenfrei">Kostenfrei</label></br>

      <div id="bemerkungsfeld" style="display: none">
        <label for="apkostenfreibemerkung">Bemerkung:</label>
        <input type="text" id="apkostenfreibemerkung" name="apkostenfreibemerkung" placeholder="Gegen ein Gastgeschenk/6er Bier o.Ä"> </br>
      </div>

      <input type="radio" id="kostenpflichtig" name="unchoice" value="apkosten">
      <label for="kostenpflichtig">Kostenpflichtig</label></br>
    </div>

    <div id="preisfeld" style="display: none">
      <label for="preis">Ich nehme</label>
      <input type="number" id="preis" name="preis" placeholder="15">
      <label for="preis">Euro</label>
    </div>

<input type="submit" name="angebotabschicken" class="btn" id="UNsend" value="Dieses Angebot für die Veranstaltung <?php wp_title() ?> erstellen!" >

</div>

</form>
</div>

标签: phpmysqlforms

解决方案


错误在这一行

<form type="post" name="ubernachtungform" id="ubernachtungsform">

它应该是

<form method="post" name="ubernachtungform" id="ubernachtungsform">

由于没有指定正确的选项,数据将永远不会通过 POST 请求发送。默认情况下,它将使用 GET 请求发送。改变它,你很高兴


推荐阅读