[英]Posting the value of a drop down menu to a PHP page via a HTML form
我正在用HTML創建一個表單,該表單將發送用戶正在詢問的問題以及該問題應出現在PHP頁面下的主題。 主題名稱是使用PHP從MySQL數據庫中提取的。
我想將下拉菜單(用戶選擇的主題)的值與HTML表單一起發布到PHP頁面。 這是我的表單代碼:
<form action="add_question.php" method="post"> Question:<input name="question_text" type="question"><br> <select name="topic_name"> <option>Topic</option> <?php // Get each topic name from the database include "connect_database.php"; $topicQuery = "SELECT topic_name FROM topics ORDER BY topic_name"; $result = $conn->query($topicQuery); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { // Make topic an option in drop down box echo '<option>' . $row["topic_name"] . '</option>'; } } // Close connection mysqli_close($conn); ?> </select><br> <button type="submit">Submit</button> </form>
將其發布到add_question.php時 ,$ _POST ['topic_name']沒有值。 我認為我的表格有問題,盡管我看不到。 任何幫助都會很棒。
謝謝!
您必須為選項分配一個值,例如:
echo '<option value='.$row["topic_id"].'>' . $row["topic_name"] . '</option>';
注意: topic_id
一個值的topic_id
,您可以使用任何其他值
您需要為所有選項添加值屬性
<option value="some value">some value</option>
<form action="add_question.php" method="post">
Question:<input name="question_text" type="question"><br>
<select name="topic_name">
<option>Topic</option>
<?php
// Get each topic name from the database
include "connect_database.php";
$topicQuery = "SELECT topic_name FROM topics
ORDER BY topic_name";
$result = $conn->query($topicQuery);
if ($result->num_rows > 0)
{
while ($row = $result->fetch_assoc())
{ ?>
<option value="<?=$row["topic_name"]?>"><?=$row["topic_name"]?></option>
<?php
}
}
// Close connection
mysqli_close($conn);
?>
</select><br>
<button type="submit">Submit</button>
</form>
請嘗試以下操作:
<form action="add_question.php" method="POST">
Question: <input name="question_text" type="question"><br/>
<select name="topic_name">
<option>Topic 1</option>
<option>Topic 2</option>
<option>Topic 3</option>
</select>
<input type="submit" value="submit">
</form>
請注意,您不需要如上所述的值,並且您將當然使用數據庫來填充選項。 並注意輸入type =“ submit”。
然后在頁面add_question.php上執行以下操作:
echo $_POST["question_text"];
echo "<br/>";
echo $_POST["topic_name"];
使用時可以打印出正確的項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.