PHP会话中的XHTML doctype验证问题

PHP会话中的XHTML doctype验证问题,php,validation,session,xhtml,Php,Validation,Session,Xhtml,当我在使用凭据登录之前验证我的登录页面时,该页面将被完全验证。但当我在启动php会话后进行验证时,它给出了错误——内联元素和块级元素之间存在冲突。会话似乎在表单标记后插入了隐藏的输入元素,如下所示: <form method="post" action ="log.php"> <input type="hidden" name="PHPSESSID" value="l96qs5ksgpkbpkr4sblilhqku6" /> 我怎样才能避免这种情况?我们可以控制此隐

当我在使用凭据登录之前验证我的登录页面时,该页面将被完全验证。但当我在启动php会话后进行验证时,它给出了错误——内联元素和块级元素之间存在冲突。会话似乎在
表单
标记后插入了隐藏的
输入
元素,如下所示:

<form method="post" action ="log.php">
<input type="hidden" name="PHPSESSID" value="l96qs5ksgpkbpkr4sblilhqku6" />

我怎样才能避免这种情况?我们可以控制此
隐藏输入元素插入的位置吗?

在.htaccess中尝试此操作:

php_value session.use_cookies 1
php_value session.use_only_cookies 1
php_value session.use_trans_sid 0
或在PHP中:

ini_set('session.use_trans_sid', false);

这不是自动插入的。您正在使用的CMS(或其他任何内容)中的某些内容正在插入该内容。你必须找到并移动它。可能是@animuson的复制品:我也是这么想的,但似乎有一个编译标志可以让这种行为发生。在我8年的硬核PHP生涯中,我从未遇到过它,但它显然是存在的。@prodigitalson:我也从未听说过它,而且我也找不到任何文档说明它实际上将整个元素添加到了输出中。。。它只讨论URL。最初代码是这样的“”,当会话启动时,它变成“”。除了开始一个疗程,我什么都没做。谢谢你,这很有效,真正的问题是什么?您能解释一下吗?当cookies被禁用并且use_trans_sid处于启用状态时,php将生成PHPSESSID。这是PHP的自动特性