php - MySQL/PHP - 表无法从我的表单获取信息

标签 php mysql forms

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

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

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

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

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

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

Picture of the informations in the Database

我的 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>

最佳答案

错误在这一行

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

应该是

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

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

关于php - MySQL/PHP - 表无法从我的表单获取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50261547/

相关文章:

javascript - 单击 Angular 4 中的按钮时动态添加输入

html - 在 Safari 扩展中,表单提交不起作用

javascript - 单击提交后如何使表单消失?

javascript - 如何将网络摄像头捕获的图像路径存储在mysql数据库中

php - 1064 : SQL syntax (MySQL INSERT)

mysql - ORDER BY [My]SQLite 上文本列的离散值]

mysql - 如何修改mysql存储过程中select的输出列名

Java - mysql连接池的单例模式 - 连接太多

php - IE浏览器如何使用border-image

删除记录后PHP页面不会自动重新加载?