php 无法在 html 文件内运行但在外部运行
php not functioning inside html file but works outside
我一直在关注 php 教程 here
代码
这是我的 html 文件:
<!DOCTYPE html>
<html>
<head>
<link rel=”stylesheet” type=”text/css” href=”style.css”>
<form action="postForm.php" method="post">
<TextArea name="microBlog" id="microBlog" cols="30" rows=“10"></TextArea>
<input type="submit">
</form>
</head>
<body>
<?php
require_once 'meekrodb.2.3.class.php';
DB::$user = 'root';
DB::$password = '';
DB::$dbName = 'MicroBlog';
$results = DB::query("SELECT post FROM MicroBlog");
foreach ($results as $row){
echo "<div class='microBlog'>" . $row['post'] . "</div>";
}
?>
</body>
</html>
这会产生以下结果:
但是,如果我将 php 代码复制到一个新的 postForm.php 文件中并单击 "Submit"(如您所见,操作是 postForm.php),它就会起作用。
我的空白屏幕有 3 个字(来自数据库)。
问题是这是一个全新的空白页,我不想要那个。
问题
为什么代码在 html 文件外有效,但在 html 文件内无效。为什么我在 html 文件中得到 ".row['post']."";} ?>
但当 php 存在于它自己的 php 文件中时我得到完美的输出?
代码明明没有问题,那会是什么?
这让我很困惑。感谢您的任何回答。
将文件扩展名 .html
更改为 .php
或 .phtml
。它会解决你的问题。
您正在 html 文件中编写 php 代码。 html 文件不评估 php code.change 文件的扩展名 .php 而不是 .html 通过这样做,您可以在该文件中同时编写 html 和 php 代码。
原因: 1. html文件不支持其中的php脚本,因此写入的任何内容都不会被执行,只会被处理作为 html 标记。
解法:
1. 只需将.html文件保存为.php文件即可!(非常简单)。例如,如果您的文件名为index.html,只需将其保存为[=24] =] 里面的所有 php 脚本都会被执行。
index.php:
<!DOCTYPE html>
<html>
<head>
<link rel=”stylesheet” type=”text/css” href=”style.css”>
<form action="postForm.php" method="post">
<textArea name="microBlog" id="microBlog" cols="30" rows=“10"></textArea>
<input type="submit">
</form>
</head>
<body>
<?php
require_once 'meekrodb.2.3.class.php';
DB::$user = 'root';
DB::$password = '';
DB::$dbName = 'MicroBlog';
$results = DB::query("SELECT post FROM MicroBlog");
foreach ($results as $row){
echo "<div class='microBlog'>" . $row['post'] . "</div>";
}
?>
</body>
</html>
我一直在关注 php 教程 here
代码
这是我的 html 文件:
<!DOCTYPE html>
<html>
<head>
<link rel=”stylesheet” type=”text/css” href=”style.css”>
<form action="postForm.php" method="post">
<TextArea name="microBlog" id="microBlog" cols="30" rows=“10"></TextArea>
<input type="submit">
</form>
</head>
<body>
<?php
require_once 'meekrodb.2.3.class.php';
DB::$user = 'root';
DB::$password = '';
DB::$dbName = 'MicroBlog';
$results = DB::query("SELECT post FROM MicroBlog");
foreach ($results as $row){
echo "<div class='microBlog'>" . $row['post'] . "</div>";
}
?>
</body>
</html>
这会产生以下结果:
但是,如果我将 php 代码复制到一个新的 postForm.php 文件中并单击 "Submit"(如您所见,操作是 postForm.php),它就会起作用。
我的空白屏幕有 3 个字(来自数据库)。
问题是这是一个全新的空白页,我不想要那个。
问题
为什么代码在 html 文件外有效,但在 html 文件内无效。为什么我在 html 文件中得到 ".row['post']."";} ?>
但当 php 存在于它自己的 php 文件中时我得到完美的输出?
代码明明没有问题,那会是什么?
这让我很困惑。感谢您的任何回答。
将文件扩展名 .html
更改为 .php
或 .phtml
。它会解决你的问题。
您正在 html 文件中编写 php 代码。 html 文件不评估 php code.change 文件的扩展名 .php 而不是 .html 通过这样做,您可以在该文件中同时编写 html 和 php 代码。
原因: 1. html文件不支持其中的php脚本,因此写入的任何内容都不会被执行,只会被处理作为 html 标记。
解法: 1. 只需将.html文件保存为.php文件即可!(非常简单)。例如,如果您的文件名为index.html,只需将其保存为[=24] =] 里面的所有 php 脚本都会被执行。
index.php:
<!DOCTYPE html>
<html>
<head>
<link rel=”stylesheet” type=”text/css” href=”style.css”>
<form action="postForm.php" method="post">
<textArea name="microBlog" id="microBlog" cols="30" rows=“10"></textArea>
<input type="submit">
</form>
</head>
<body>
<?php
require_once 'meekrodb.2.3.class.php';
DB::$user = 'root';
DB::$password = '';
DB::$dbName = 'MicroBlog';
$results = DB::query("SELECT post FROM MicroBlog");
foreach ($results as $row){
echo "<div class='microBlog'>" . $row['post'] . "</div>";
}
?>
</body>
</html>