输出 PHP 到 HTML 日期值问题

Outputting PHP to HTML date value issue

当我将 PHP 中的日期作为值输出到文本框时,如果在我设置它时有 space 元素会变得一团糟。

代码是 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 时会添加一个引号导致将新参数添加到元素?

您缺少值周围的单引号,因此当浏览器尝试修复您的错误时,日期中的 space 被读取为新属性的分隔符。

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