【问题标题】:PHP dropdown not sending through POSTPHP下拉不通过POST发送
【发布时间】:2015-01-22 15:52:36
【问题描述】:

我有一个由从 MySQL 表中提取的 PHP 函数构建的下拉列表。下拉菜单工作正常,但所选选项未发布。我怀疑问题在于如何在 PHP 中创建 HTML 选择标记,但我似乎找不到纠正它的方法。我四处寻找,但似乎没有任何效果。

这是构建下拉菜单的 PHP 函数:

function contact_list(){
//Connection info
$dbhost = 'localhost';
$db = 'database';
$dbuser = 'user';
$dbpass = 'password';

//Define connection
$con = mysqli_connect($dbhost, $dbuser, $dbpass, $db);

//Check connection
if (mysqli_connect_errno()) {
    echo " ERROR " . mysqli_connect_error() . " ERROR ";
        }  
 //Define search strings for drop down       
 $contact_list = "SELECT * FROM CONTACT_LIST";       

//Execute search of primary_contact table
if (!mysqli_query($con,$contact_list)) {
    die('' . mysqli_error($con));
}
//Return primary_contact results as string
$contact_result = $con->query($contact_list);

//Build drop down
echo "<select name='Primary_Contact'>";
//Loop through results
foreach ($contact_result as $row)
{
    echo "<option value='' >" .htmlspecialchars($row['Primary_Contact']). "</option>";
}

echo "</select><p></p>";
}

这是一个 HTML 示例。描述文本框很好,所以我认为问题不在于表单标签。

<form action="mod_output_test.php" method="POST">  
    <u>Description</u>:  <p></p>
    <input type="text" name="Description" size="48" value="<?=$Description;?>"> <p></p>
    <!-- Primary Contact -->
    <?php echo "<u>Primary Contact</u>:<p></p>Current value:&nbsp<b> " . $Primary_Contact . "</b>&nbsp New value: ";?>
    <?php contact_list() ?>
    <p></p>
    <input type="submit">
</form>

【问题讨论】:

  • 实际的html输出是什么?
  • 首先想到的是没有&lt;form&gt;标签,但由于你没有发布HTML,我可能是错的。
  • 已编辑以包含
    以及一个有效的文本字段。

标签: php html mysql


【解决方案1】:

改变

echo "<option value='' >" .htmlspecialchars($row['Primary_Contact']). "</option>";

echo "<option value='".$row['Id']."'>" .htmlspecialchars($row['Primary_Contact']). "</option>";

我猜你的 dropdows 是在一个表单标签之间。

在操作文件的顶部键入此内容并告诉我们您得到了什么

<?php
print_r($_REQUEST);
exit;
?>

【讨论】:

    【解决方案2】:
    echo "<option value='' >" .htmlspecialchars($row['Primary_Contact']). "</option>";
    

    当您这样发布时,选项值为空。添加联系人的id。

    正如他们所说,我们没有看到&lt;form&gt; 标签,我们“假设”您在该部分之前添加了它。但是“不发布”的答案是因为来自&lt;option&gt; 的值是空的。

    【讨论】:

    • 编辑为包含
      以及一个可以工作的文本字段。
    • 好,确保也将值添加到 &lt;option&gt; 标记。如果没有,发布时没有值会有变量
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    相关资源
    最近更新 更多