【问题标题】:Only first word In a multi word variable is being displayed仅显示多字变量中的第一个字
【发布时间】:2012-05-29 19:36:12
【问题描述】:

在我的表单中,我有以下基于标准 PHP/MySql 查询的值。

echo "<tr>\n
        <td align='right'><b>Location</b></td>
        <td><input name='student_location' type='text' size='25' style='font-weight: 700' value=$location></td>
    </tr>";

$location 的值为单个单词时,它会正确显示,如果是多个单词,则说“North Campus”,仅显示“North”。

我已经检查了两次和三次,并且正确的值在数据库中,当我对 $location 的值进行回显时,它回显了正确的值,但是当它显示在上方的字段中时,它会砍掉最后一个单词。它对我所有不止一个词的变量都这样做,所以我错过了一些明显的东西。

【问题讨论】:

    标签: php html


    【解决方案1】:

    你忘了引号:

    echo "<tr>\n
        <td align='right'><b>Location</b></td>
        <td><input name='student_location' type='text' size='25' style='font-weight: 700' value=\"$location\"></td>
    </tr>";
    

    如果没有引号,第一个单词会被注明,其他的会被解释为错误的属性。

    【讨论】:

      【解决方案2】:

      您需要将单引号括起来以使其成为有效属性。 HTML 被创建为value=North Campus,它被解释为value="North" 和一些没有价值的Campus 属性。使用value='$location'

      【讨论】:

        【解决方案3】:

        您需要通过转义 "

        来引用它
        echo "<tr>\n
                <td align='right'><b>Location</b></td>
                <td><input name='student_location' type='text' size='25' style='font-weight: 700' value=\"$location\"></td>
            </tr>";
        

        【讨论】:

          猜你喜欢
          • 2021-03-11
          • 1970-01-01
          • 2014-03-28
          • 2020-10-04
          • 1970-01-01
          • 2022-01-14
          • 2012-08-17
          • 1970-01-01
          • 2023-03-18
          相关资源
          最近更新 更多