【问题标题】:HTML form losing functions when select function is populated with php code使用PHP代码填充选择功能时,HTML表单丢失功能
【发布时间】:2020-02-07 19:43:29
【问题描述】:

我的 php 编码导致其他表单框、选项和按钮消失

我有一个 php 表单,其中包括 2 个使用 php 代码填充的选择函数,这些函数选择数据并分隔用逗号分隔的值,以填充选项,每个值包含一行,不包括逗号,我放了一个下面的可视化有助于显示正在发生的事情;

列的 SQL 内容

Black & Blue,Black & White,Black & Red

选择表单上的功能

Black & Blue
Black & White
Black & Red

代码本身可以正常工作,但是当您将其合并到表单中时,代码会导致其他表单项消失,如果您删除代码,其他项是可见的,但如果您重新引入它,表单项就会消失。

我把有问题的代码放在下面;

<select name="col" id="col">
<option>Select Colour</option>
        <?php
        include "publicaccess.php";
        if ($link->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }
        $stmt = ("SELECT `Colours` FROM `shopprod`");
        foreach ($link->query($stmt) as $row_program){
            $options = $row_program['Colours'];
            $optionsArr = explode(",", $options);   
            foreach ($optionsArr as $row){
                echo '<option>' . $row . '</option>';
        }
        }
        $stmt->close();
        $link->close();
        ?>
</select>

我希望这 2 个选择函数能够填充并允许使用表单的其余部分,但在使用 php 代码时表单的其余部分会消失。

它引发的错误是“未捕获的错误:调用字符串上的成员函数 close()”

任何建设性的建议将不胜感激。

【问题讨论】:

  • 当其他表单元素消失时,您可以在浏览器中查看源代码吗?也许它抛出了一些错误。检查是否正在呈现 HTML 的其余部分。如果不是,则尝试确定执行的最后一行。分享您的结果或将错误文本添加到问题中(如果发现)。
  • 您能否添加更多代码以包含整个表单,也许还可以添加生成的 html?
  • 删除 $stmt-&gt;close(); $stmt 只包含 sql 字符串。不能就此关闭。
  • 已修复,谢谢#ascsoftw 修复它。当您如此专注于问题的复杂性时,有时很容易忽略一个简单的测试或解决方案。

标签: php html forms select


【解决方案1】:

成员 ascsoftw "Remove $stmt->close(); $stmt contains just sql string. Can not call close on this" 的评论回答了这个问题。

【讨论】:

    猜你喜欢
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 1970-01-01
    • 2020-01-17
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    相关资源
    最近更新 更多