php 脚本已打印未执行
php script is printed not executed
我有以下 html 文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Fancy Website</title>
</head>
<body>
<div id="content_login">
<form method="post" action="app.php">
<table>
<thead>Please Login for more fancy Content!</thead>
<tr>
<td>Username</td>
</tr>
<tr>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td><input type="submit" name="login" value="Login"></td>
</tr>
</table>
</form>
</div>
</body>
</html>
这是我的 php 脚本:
<?php
if(isset($_POST['login'])) {
echo "Hello " . $_GET["username"];
}
?>
是的,什么都没有,但我只是想测试一下,当按下登录按钮时,脚本是否可以运行。惊喜:不是。我在浏览器中打开 index.html,html 部分正常工作,但如果我按下登录按钮,浏览器会显示:
<?php
if(isset($_POST['login'])) {
echo "Hello " . $_GET["username"];
}
?>
我想这是一个语法问题,但我找不到它。也许你看到了。
非常感谢!
你有 app.php 中的 php 代码吗?如果你有,那么你没有在 Apache 中启用 mod_php。我建议您使用 wampserver(在 windows 上),因为它负责基本的 apache/php 配置。
编辑:您不能在没有网络服务器的情况下执行您的 php 代码。在浏览器中打开 HTML 个文件是客户端,php 是服务器端。
首先,我认为您没有 apache 服务器 运行 让您的 PHP 代码正常工作。
并且您使用 POST 没有 GET 发送数据,您必须使用 POST 方法来处理数据。
<?php
if(isset($_POST['login'])) {
echo "Hello " . $_POST["username"];
}
?>
您应该将 $_GET["username"] 更改为 $_POST["username"] 变量以使其正常工作
<?php
if(isset($_POST['login'])) {
echo "Hello " . $_POST["username"];
}
?>
我的建议是使用:
<?php
if (isset($_POST['login']))
{
$username = $_POST['username'];
if (!empty($username))
{
echo "hello $username";
} else {
echo "You must fill in the username!";
}
}
?>
老实说,我会将 index.html 更改为 index.php 并将其放在该页面的顶部,以便所有错误等都通过一个文件传递。
我有以下 html 文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Fancy Website</title>
</head>
<body>
<div id="content_login">
<form method="post" action="app.php">
<table>
<thead>Please Login for more fancy Content!</thead>
<tr>
<td>Username</td>
</tr>
<tr>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td><input type="submit" name="login" value="Login"></td>
</tr>
</table>
</form>
</div>
</body>
</html>
这是我的 php 脚本:
<?php
if(isset($_POST['login'])) {
echo "Hello " . $_GET["username"];
}
?>
是的,什么都没有,但我只是想测试一下,当按下登录按钮时,脚本是否可以运行。惊喜:不是。我在浏览器中打开 index.html,html 部分正常工作,但如果我按下登录按钮,浏览器会显示:
<?php
if(isset($_POST['login'])) {
echo "Hello " . $_GET["username"];
}
?>
我想这是一个语法问题,但我找不到它。也许你看到了。 非常感谢!
你有 app.php 中的 php 代码吗?如果你有,那么你没有在 Apache 中启用 mod_php。我建议您使用 wampserver(在 windows 上),因为它负责基本的 apache/php 配置。
编辑:您不能在没有网络服务器的情况下执行您的 php 代码。在浏览器中打开 HTML 个文件是客户端,php 是服务器端。
首先,我认为您没有 apache 服务器 运行 让您的 PHP 代码正常工作。 并且您使用 POST 没有 GET 发送数据,您必须使用 POST 方法来处理数据。
<?php
if(isset($_POST['login'])) {
echo "Hello " . $_POST["username"];
}
?>
您应该将 $_GET["username"] 更改为 $_POST["username"] 变量以使其正常工作
<?php
if(isset($_POST['login'])) {
echo "Hello " . $_POST["username"];
}
?>
我的建议是使用:
<?php
if (isset($_POST['login']))
{
$username = $_POST['username'];
if (!empty($username))
{
echo "hello $username";
} else {
echo "You must fill in the username!";
}
}
?>
老实说,我会将 index.html 更改为 index.php 并将其放在该页面的顶部,以便所有错误等都通过一个文件传递。