我有以下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"];
}
?>
我想这是语法问题,但我找不到。也许你看到了。非常感谢!
我的建议是使用:
<?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,并把它放在页面的顶部,这样所有的错误等都会通过一个文件传递。
您应该将$_GET["username"]变量更改为$_POST["username"]变量以正确工作
<?php
if(isset($_POST['login'])) {
echo "Hello " . $_POST["username"];
}
?>
app.php中有php代码吗?如果你已经启用了,那么你还没有在Apache中启用mod_php。我建议您使用wampserver(在windows上),因为它可以处理基本的apache/php配置。
http://www.wampserver.com/en/
编辑:你不能只执行你的php代码,而没有一个网络服务器。在浏览器中打开HTML文件是客户端,php是服务器端。
首先,我认为您没有运行apache服务器来确保PHP代码正常工作。如果使用POST发送数据,则必须使用POST方法来处理数据。
<?php
if(isset($_POST['login'])) {
echo "Hello " . $_POST["username"];
}
?>