Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html/Php:echo-in-value属性仅显示字符串的第一个字符_Php_Html - Fatal编程技术网

Html/Php:echo-in-value属性仅显示字符串的第一个字符

Html/Php:echo-in-value属性仅显示字符串的第一个字符,php,html,Php,Html,我检索了数据库中存储在$tab数组中的特定行的所有字段,$tab[4]对应于数据库中的字段“address”(其类型为varchar(255))。 问题是,当我在输入的“value”属性中“echo”$tab[4]时,我只得到字符串的开头 <!DOCTYPE html> <html lang="en"> <head> <title>Bootstrap Example</title> <meta charset="utf-8

我检索了数据库中存储在
$tab
数组中的特定行的所有字段,
$tab[4]
对应于数据库中的字段“address”(其类型为varchar(255))。 问题是,当我在输入的“value”属性中“echo”
$tab[4]
时,我只得到字符串的开头

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">

</head>
<body>

<?php

    try
    {
      $bdd = new PDO('mysql:host=monsitexfqadmin.mysql.db;dbname=m...min;charset=utf8','m...min', 'mypass',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT));
    }
    catch(Exception $e)

    {
      die('Error : '.$e->getMessage());
    }


    $req = $bdd -> prepare("SELECT * FROM users2") or die(errorInfo()); //
    $req->execute();  

    $tab=$req->fetch();

    $rue=$tab[4];

    echo "$ rue = ".$rue."<br>";
    echo "type of $rue = ".gettype($rue)."<br>";
    echo "size of $rue = ".strlen($rue)."<br>";

    ?>
      <input type="text" value=<?php echo $rue;?>>

</body>
</html>

引导示例
您错过了
属性周围的引号(

实际上,代码的输出是:

<input type="text" value=St John Street>

…对于HTML解析器来说,这意味着
St
value
属性的值,
John
Street
是布尔属性,代码语法突出显示强调了这一点

顺便说一句,正如@cale_b和@Brad所说:你应该用---来转义你的地址。注意:这句话只有在输出内容来自用户并且没有转义的情况下才有效。

你错过了
属性周围的引号(

实际上,代码的输出是:

<input type="text" value=St John Street>

。。。对于HTML解析器来说,这意味着
St
value
属性的值,
John
Street
是布尔属性,代码语法突出显示强调了这一点


顺便说一句,正如@cale_b和@Brad所说的:你应该用---来转义你的地址。注意:这句话只有在输出内容来自用户并且还没有转义的情况下才有效。

请为如下字段的值属性添加双引号

  <input type="text" value="<?php echo $rue; ?>" >

请为字段的值属性添加双引号,如下所示

  <input type="text" value="<?php echo $rue; ?>" >


在值周围加引号:
FYI,您应该注意回显PDO连接错误消息。它们通常可以包含凭据。请在以下值周围加引号:
FYI,您应该注意回显PDO连接错误消息。它们通常可以包含凭据。它应该是什么样子的?这是一条评论,被认为是回答的低质量。编辑:这个评论按照他们原来的帖子更好,但显示它应该是什么样子。还有,别忘了引用使用htmlspecialchars,否则它们最终可能会出现类似
,这将打破…@Fred,我发布了几乎相同的答案。发布这类问题的答案不合适吗?@manian-您的答案展示了一个如何正确(几乎)构造标记的示例,因此答案不同。你没有得到提升/关注,因为你的答案比这个晚4分钟。它应该是什么样子?这是一个评论,被认为是一个非常低质量的答案。编辑:这个评论按照他们原来的帖子更好,但显示它应该是什么样子。还有,别忘了引用使用htmlspecialchars,否则它们最终可能会出现类似
,这将打破…@Fred,我发布了几乎相同的答案。发布这类问题的答案不合适吗?@manian-您的答案展示了一个如何正确(几乎)构造标记的示例,因此答案不同。因为你的答案比这个答案晚了4分钟,所以你没有得到提升/关注。这是唯一正确的答案。在呈现给用户之前,必须使用htmlspecialchars,否则HTML可能会中断!这是唯一正确的答案。在呈现给用户之前,必须使用htmlspecialchars,否则HTML可能会中断!这是不完整的。你有机会教,所以一定要教用户htmlspecialchars的重要性。是的@cale_b,我知道了,谢谢。我会考虑你在我以后的职位上的投入。既然Brad发布了正确的答案,我现在编辑我的答案可以吗?当然可以!请随时编辑您的答案,以使其更清晰/更高质量!这是不完整的。你有机会教,所以一定要教用户htmlspecialchars的重要性。是的@cale_b,我知道了,谢谢。我会考虑你在我以后的职位上的投入。既然Brad发布了正确的答案,我现在编辑我的答案可以吗?当然可以!请随时编辑您的答案,以使其更清晰/更高质量!