为什么PHP Object Operator被视为浏览器中的结束标记?

时间:2013-01-12 20:56:12

标签: php html

我正在使用PHP来检查HTML页面顶部的$ _SESSION变量。这是我的代码:

<?php require('sessions.class.php');
 $session= new session();
 $session->start_session('_s',false);

 if (!isset($_SESSION('session_id'))){
    header(location:'login.html');
  }
 ?>

<!DOCTYPE html>

在到达对象运算符(->)之前,一切似乎都有效。就像服务器将其视为PHP结束标记一样。 ->之后的文字会在网页顶部回显。

这与此处提出的问题类似:

why-php-tag-is-closing-on-user

但OP没有详细介绍解决方案。

浏览器= Mozilla

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

问题可能是您尝试在html文档中运行PHP代码,这是不可能的。 &lt; PHP开始标记被识别为html标记的开头,因此第一个&gt;之后的代码被识别为输出为文本,因为它被解释为关闭html标记。

如果您想使用PHP,请将其设为.php文件并回显html。更好的是,您希望尽可能在单独的文件中分离您的逻辑(PHPcode)和标记(html)。

搜索'分离PHP和html' To get you started