我有一个基本的ajax应用程序,它不起作用,而是php代码显示在浏览器中。 javascript和html看起来很好。我从这里逐字复制了代码:
这是php:
<?
session_start();
//start the session
$cmd = $_GET["cmd"];
$con = mysql_connect('localhost', 'root', 'indosat');
if (!con) {
die('Connection to MySQL server failed: ' . mysql_error());
//show error message (mysql_error) if connection failed
}
mysql_select_db('ajax', $con);
//select the database, in this case our database name is "ajax"
if ($cmd === 'GetEmployee') //set command value (executed from javascript ajaxlib.js)
{
sleep(10);
//give delay about 10 seconds before execute the command
//we use this sleep function so we can see the loading animation
//you can edit/remove
echo "<table border='1' width='100%'>
<tr>
<th>EmpNo</th>
<th>fName</th>
<th>lName</th>
<th>Age</th>
</tr>";
//print a table to browser to show the values
$sql = "select * from employee";
//this is query to show all records
$result = mysql_query($sql);
//execute the query & fill it to $result variable
while ($row = mysql_fetch_array($result)) {
echo "<tr>
<td>" . $row['IdEmp'] . "</td>
<td>" . $row['fName'] . "</td>
<td> " . $row['lName'] . "</td>
<td>" . $row['Age'] . "</td>
</tr>";
//print the record to the table
}
echo '</table>';
//close the table
}
mysql_close($con);
//close the mysql connection
?>
我看不出问题是什么
编辑:这不是短标签。它们已启用,使用“长”标签没有任何区别。
答案 0 :(得分:4)
也许你没有启用php短标签?标签上的完整php是"<?php"
文件扩展名是否设置为由php解析?
答案 1 :(得分:3)
通常,当您的Web服务器无法正确处理PHP代码时,就会发生这种情况。它不是处理代码,而是将原始文件发送到浏览器。问题很可能不在代码中,而是服务器设置。
答案 2 :(得分:1)
文件是否具有正确的扩展名(PHP默认只处理 .php 文件,除非它们用作包含)?是正确位置的文件(所以预处理器可以到达它)?
答案 3 :(得分:0)
我打赌短标签是问题
答案 4 :(得分:0)
没有启用php短标签。
答案 5 :(得分:0)
我不知道答案,但这里是如何解决这些问题的指南:
<?php echo phpinfo(); ?>
我怀疑这与PHP有什么关系,并且相信它与Apache有关。您确定将文件保存在正确的位置吗?您的DocumentRoot
目录设置是什么以及保存文件的位置?以上所有步骤都有效吗?我怀疑你达到(3),在测试用例中一切正常,但原始代码中断了。它可能与文件扩展名有关(在Linux上区分大小写)或放置文件的位置。