就像标题中所说的那样,我的PHP代码正像被注释掉一样显示在浏览器代码检查器中。例如,
<? include("assets/php/dbconn.inc.php"); $conn = dbConnect(); $sql = "SELECT * FROM movies"; $rs = $conn->query($sql) or die ("Movie query failed"); $number_of_rows = $rs->num_rows; while($row = $rs->fetch_assoc()){ echo("{$row['title']}"); } ?>
在浏览器中显示为
<!--? include("assets/php/dbconn.inc.php"); $conn = dbConnect(); $sql = "SELECT * FROM movies"; $rs = $conn--->
其余代码将显示在网页上。
我正在本地计算机上使用WAMP对此进行测试。您知道这些评论标签来自何处吗?
切勿<?在PHP代码中使用简短的开放标记。始终使用长标签<?php,仅仅是因为<?可以禁用(或没有启用,可能取决于发行版)在php.ini与short_open_tag指令(这看起来像你的罪魁祸首)。结果,PHP脚本不会被PHP解释器处理,并且通常最终会以纯文本的形式发送给访问者,从而暴露您的整个源代码(还有DB凭据等)。
<?
<?php
php.ini
short_open_tag