我将php代码编码到另一个.php文件中,并且我需要将其包含在html文件中,以便从数据库中检索信息并将其粘贴到表中。
换句话说,我希望包含我的.php,以便显示信息
我尝试使用<?php include 'database.php';?>
,但似乎不起作用
HTML:
<body>
<button class="dbknapp" onclick="window.location.href = 'index.html';">Klikk her for å legge inn informasjon!</button><br><br>
<table>
<tr>
<th>Id</th>
<th>Fornavn</th>
<th>Etternavn</th>
<th>Email</th>
</tr>
</table>
<?php include 'database.php';?>
</body>
PHP:
<?php
$servername = "localhost";
$database = "db";
$username = "root";
$password = "philip123";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT id, name, lastname, email FROM Students"
$result = $conn-> query($sql);
if ($result-> num_rows > 0) {
while ($row = $result-> fetch_assoc()) {
echo "<tr><td>". $row["id"] ."</td><td>". $row["name"] ."</td><td>". $row["lastname"] ."</td><td>". $row["email"] ."</td></tr>";
}
echo "</table>";
}
else {
echo "0 results";
}
$conn-> close();
?>
答案 0 :(得分:1)
默认方法是使用扩展名为.php
或.phtml
的PHP文件。默认情况下,服务器不解析扩展名为.html
的文件。您应该将包含PHP标记的HTML文件重命名为.php
文件。
如果您确实确实希望扩展名为.html
的文件被PHP模块解析,则可以重新配置服务器,将PHP处理程序添加到以.html
结尾的文件中。可以在服务器配置,虚拟主机配置甚至每个目录.htaccess
中完成此操作(如果在配置中相应地设置了AllowOverride
)。
mod_php处理程序:
<FilesMatch ".+\.html$">
SetHandler application/x-httpd-php
</FilesMatch>
这将使每个扩展名.html
的文字点之前具有至少一个任意字符的文件的PHP模块,即,排除仅扩展名之外没有名称的文件。模式是正则表达式。您也可以构建诸如<FilesMatch "^(file1|file2)\.html$">
之类的表达式,以便仅将特定文件作为可解析的PHP文件进行处理。
cgi,fcgi 和 fpm PHP集成有不同的配置。上面的代码是 mod-php 设置。
答案 1 :(得分:0)
您不能在HTML文档中包含(嵌入)PHP代码。 将文档扩展名从.html更改为.php,一切正常。或者由于您的代码太少,您可以将其放在一个文件中。
尝试一下:
index.php文件将包含:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Simple PHP Script</title>
</head>
<body>
<button class="dbknapp" onclick="window.location.href = 'index.php';">Klikk her for å legge inn informasjon!</button><br><br>
<table>
<tr>
<th>Id</th>
<th>Fornavn</th>
<th>Etternavn</th>
<th>Email</th>
</tr>
<?php include 'database.php'; ?>
</table>
</body>
</html>
database.php文件将包含:
<?php
$servername = "localhost";
$database = "db";
$username = "root";
$password = "philip123";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT id, name, lastname, email FROM Students"
$result = $conn-> query($sql);
if ($result-> num_rows > 0) {
while ($row = $result-> fetch_assoc()) {
echo "<tr><td>". $row["id"] ."</td><td>". $row["name"] ."</td>".$row["lastname"] ."</td><td>". $row["email"] ."</td></tr>";
}
echo "</table>";
}
else {
echo "0 results";
}
$conn-> close();
?>
答案 2 :(得分:0)
您无法在.html页面中执行PHP代码(除非完成一些.htaccess配置)。最简单的方法是将ReferenceError: exports is not defined
文件重命名为.html
。
然后,您可以使用both HTML and PHP in the same page。您还可以在此.php
页中包含其他PHP脚本。
.php
然后,database.php(我已格式化您的代码以使其可读)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Simple PHP Script</title>
</head>
<body>
<button class="dbknapp" onclick="window.location.href = 'index.php';">Klikk her for å legge inn informasjon!</button><br><br>
<table>
<tr>
<th>Id</th>
<th>Fornavn</th>
<th>Etternavn</th>
<th>Email</th>
</tr>
<?php include 'database.php'; ?>
</table>
</body>
</html>
如果您需要以<?php
$servername = "localhost";
$database = "db";
$username = "root";
$password = "philip123";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT id, name, lastname, email FROM Students";
$result = $conn-> query($sql);
if ($result-> num_rows > 0) {
while ($row = $result -> fetch_assoc()) : ?>
<tr>
<td><?= $row['id'] ?></td>
<td><?= $row['name'] ?></td>
<td><?= $row['lastname'] ?></td>
<td><?= $row['email'] ?></td>
</tr>
<?php endwhile;
} else {
echo "0 results";
}
$conn-> close();
的身份执行.html
,请参见this post。