当我完成第一次数据库连接时,我最近有了我的时刻。关闭浏览器并重新打开html表单后,输出突然变为代码而不是数据库值?
HTML表单:
<form action="formulier3.php" method="post">
Hoogte: <input type="text" name="height"><br>
Breedte: <input type="text" name="width"><br>
<input type="submit">
</form>
PHP页面
<?PHP
$user_name = "root";
$password = "root";
$database = "addressbook";
$server = "127.0.0.1";
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
if ($db_found) {
$SQL = "SELECT * FROM price WHERE height = " . $_POST["height"] . " AND width = " . $_POST["width"] . "";
$result = mysql_query($SQL);
while ( $db_field = mysql_fetch_assoc($result) ) {
print $db_field['ID'] . "<BR>";
print $db_field['value'] . "<BR>";
print $db_field['height'] . "<BR>";
print $db_field['width'] . "<BR>";
}
mysql_close($db_handle);
}
else {
print "Database NOT Found ";
mysql_close($db_handle);
}
?>
这是我的输出:
"; print $db_field['value'] . "
"; print $db_field['height'] . "
"; print $db_field['width'] . "
"; } mysql_close($db_handle); } else { print "Database NOT Found "; mysql_close($db_handle); } ?>
有谁知道这里发生了什么?
提前谢谢!
答案 0 :(得分:2)
不知何故,你的服务器已经停止通过php处理器(apache模块或fastcgi或其他)处理你的php页面。
你看到的是将你的PHP代码呈现为html的效果。您没有看到所有代码而只是其中的一小部分,这是因为从第一个<
(在<?php
中)到第一个>
(在浏览器将print $db_field['ID'] . "<BR>";
解析为html标记,因此不打印。如果查看页面源代码,您将看到完整的PHP代码。
所以有一些服务器端的变化产生了php文件直接服务器到浏览器而不是由php引擎解析。
一个可能的原因是,您正在使用本地计算机进行开发,当它在您的浏览器中输入类似http://localhost/your_page.php
的内容时,但现在您直接从文件系统打开php文件,因此浏览器会显示某些内容比如file:///xampp/htdocs/your_page.php
。您应该始终通过Web服务器打开您的php页面(即使用http://localhost/....
),而不要双击文件浏览器中的文件。