我有一個現有的SHTML頁面,其中包含幾個菜單的INCLUDE語句。這工作得很好。對於這一點,我的.htaccess文件了像:啓用PHP解析器和Include語句
Options +FollowSymLinks
我的include語句是這樣的:
<!--#include virtual="menu_primary.shtml" -->
我有一個新的需要添加一些PHP代碼的主網頁。 PHP代碼查詢Mysql數據庫以返回單行。如果該行存在於數據庫中,我想在SHTML頁面上顯示它。如果該行不存在,則不執行任何操作。以下是PHP代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
$servername = "localhost";
$username = "myusername";
$password = "mypassword";
$dbname = "mydbname";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT notice from notification where page = 'home'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "Message is: " . $row["notice"]. "<br>";
}
} else {
echo "";
}
mysqli_close($conn);
?>
</body>
</html>
當我實現了這個PHP代碼,頁面似乎解釋大於號作爲文本之後的一切。當我發佈該問題時,此論壇上的某個人建議更改.htaccess文件以包含PHP解析器。一段時間。我改變了我的.htaccess文件看起來像這樣:
Options +FollowSymLinks
<FilesMatch "\.(htm|html|shtm|shtml)$">
SetHandler application/x-httpd-php5
</FilesMatch>
然而,當我這樣做,PHP代碼工作正常,我從SHTML頁顯示數據庫中的數據,但#include語句不再起作用。如何在同一個SHTML頁面中同時啓用PHP和#Include代碼?非常感謝你看這個。
談到一個很老的頁面是否有要求HTML包括? PHP也可以包含頁面。 – 2014-11-06 13:02:40