【问题标题】:POST form - Select as input only sending first valuePOST 表单 - 选择作为输入仅发送第一个值
【发布时间】:2018-01-12 09:35:01
【问题描述】:

我有两个相同的选择,显然为了区分而命名不同。当我将表单发布到我的 PHP 页面并回显该值时,它总是作为第一个选项出现。

所以我可以回显 type1,然后会显示选择的值,但对于 type2,该值将始终为 0。

<form action="update.php" method="post" name="tt-upd" id="tt-upd">
    <input name="time1" type="time">
    <select name="type1" form="tt-upd"> 
        <option value="0">0</option> 
        <option value="1">1</option> 
        <option value="2">2</option> 
        <option value="3">3</option> 
        <option value="4">4</option> 
    </select>
    <input name="time2" type="time">
    <select name="type2" form="tt-upd"> 
        <option value="0">0</option> 
        <option value="1">1</option> 
        <option value="2">2</option> 
        <option value="3">3</option> 
        <option value="4">4</option> 
    </select>
    <input type="submit" name="submit" id="submit" value="Submit"/>
</form>

我很迷茫,因为我看不出两者之间有什么不同。

哦,PHP 代码只是

echo $_POST['type1'];
echo $_POST['type2'];

更新:它不只是取第一个值,无论我将 0 值放在 HTML 中的哪个位置,它总是会回显 0

更新.php

<?php
include 'dbconnect.php';


echo $_POST['type1'];
echo $_POST['type2'];
$m1 = "";
$t1 = "";

?>

dbconnect.php

<?php

$servername = "";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";
?>

【问题讨论】:

  • 无论您选择什么值,第二个选择始终显示为 0。
  • @SumanDey 但对于 type2,该值将始终为 0。
  • 仍然,显示您的 PHP 代码。另外,尝试更改第二个选择标签的名称并尝试删除选择标签上的表单,这不是必需的选项。
  • 另外,一个表单应该有一个 ID,而不是一个名字...一个名字用于输入。
  • @LoveHateDevelopment 不用担心。某些东西可能正在使用您指定的名称。最好为变量使用真实的单词名称,以避免这种情况。 :)

标签: php html forms


【解决方案1】:

饥饿考拉解决了

问题是由于选择的名称,一旦更改它就可以正常工作。问题cmets的完整答案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多