引导输入值仅显示第一个单词


Bootstrap input value only displaying the first word

在我的网站上,我正在将一些数据回显到编辑页面。在此页面上,我有从MySQL回显的引导输入。最糟糕的是只显示第一个单词。我可以选择文本区域,但这与布局不匹配。

PDO(登录后):

    $getid = $db->prepare('SELECT * FROM db WHERE testid=:testid');
    $getid->bindParam(':testid', $_GET['testid'], PDO::PARAM_INT);
    $result = $getid->execute();
    $row = $getid->fetch();

包含我正在努力处理的数据的列是 varchar(300)。

.HTML

    <input type="text" class="form-control" name="info" <?php echo "value=" . $row['info']; ?>>

该列有 10-15 个单词,但只显示第一个单词,有人知道为什么吗?如果这是HTML5输入问题,是否可以对其进行调整以显示所有单词?

试试这个

<input type="text" class="form-control" name="info" value="<?php echo $row['info']; ?>">

问题是你没有在 PHP 代码中用引号结束你的value

你编写代码的方式,工作,应该是

<input type="text" class="form-control" name="info" <?php echo "value='"" . $row['info'] . "'""; ?>>

请注意句子前后回显的转义'"双引号。

编辑::为了进一步解释为什么你会得到意外的行为,看看当你运行那个PHP页面时会打印的HTML代码。它看起来像这样。请注意,即使在 SO 语法颜色上,第一个示例中也只有单词"the"变为蓝色,而在第二个示例中,整个句子变为蓝色。

<input type="text" class="form-control" name="info" value=the words inside info>

因为您没有使用 XHTML,所以语法错误将通过假设只有第一个单词是值来"修复"。其余单词将被忽略或被视为其他未定义的属性。它应该看起来的样子很明显

<input type="text" class="form-control" name="info" value="the words inside info">

因此,您可以通过在HTML中添加引号或在PHP代码中打印它们来解决此问题。