php - 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>
解决方案
错误在这一行
<form type="post" name="ubernachtungform" id="ubernachtungsform">
它应该是
<form method="post" name="ubernachtungform" id="ubernachtungsform">
由于没有指定正确的选项,数据将永远不会通过 POST 请求发送。默认情况下,它将使用 GET 请求发送。改变它,你很高兴