MySQL / PHP - Таблицы не получают информацию из моей формы - PullRequest
0 голосов
/ 09 мая 2018

У меня есть форма во внешнем интерфейсе, где пользователи могут вводить вещи.

Когда я ввожу свои данные в форму и отправляю их, база данных собирает только 2 из 5 данных. 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>

1 Ответ

0 голосов
/ 10 мая 2018

Ошибка в этой строке

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

должно быть

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

Поскольку не указан правильный параметр, данные никогда не будут отправлены через запрос POST. Он будет отправлен по умолчанию с помощью запроса GET. Измени это, и ты готов идти

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...