输出PHP到HTML的日期值问题


Outputting PHP to HTML date value issue

当我用PHP将日期作为值输出到文本框时,如果我设置时有空格,元素就会变得一团糟。

代码为PHP:

$date= date("d-m-Y h:i:s",strtotime($data['Date']));
$type="input"; 
$idname="test";
$idx="1";
 echo  "<".$type." id='".$idname."_". $idx. "' value=".$date." ></input>";

生成的HTML看起来像

input id="test_1" value="01-01-1970" 01:00:00=""

如果我使用

 $date= date("d-m-Y|h:i:s",strtotime($data['Date']));  

设置该值将正常工作。这是怎么回事?为什么在输出$date时添加引号会导致向元素添加新参数?

您缺少值周围的单引号,因此当浏览器试图纠正您的错误时,日期中的空格将被读取为新属性的分隔符。

echo  "<".$type." id='".$idname."_". $idx. "' value='".$date."' />";
//                                                  ^         ^