未执行php脚本打印

未执行php脚本打印,php,html,post,syntax-error,Php,Html,Post,Syntax Error,我有以下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="a

我有以下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配置


编辑:在没有Web服务器的情况下,不能只执行php代码。在浏览器中打开HTML文件是客户端,php是服务器端。

app.php中有php代码吗?如果您有,那么您没有在Apache中启用mod_php。我建议您使用wampserver(在windows上),因为它负责基本的apache/php配置


编辑:在没有Web服务器的情况下,不能只执行php代码。在浏览器中打开HTML文件是客户端,php是服务器端。

首先,我认为您没有运行apache服务器来确保php代码正常工作。 如果使用POST no GET发送数据,则必须使用POST方法来处理数据

<?php
    if(isset($_POST['login'])) {
        echo "Hello " . $_POST["username"];
    }
?>

首先,我认为您没有运行apache服务器来确保PHP代码正常工作。 如果使用POST no GET发送数据,则必须使用POST方法来处理数据

<?php
    if(isset($_POST['login'])) {
        echo "Hello " . $_POST["username"];
    }
?>

您应该将$\u GET[“username”]变量更改为$\u POST[“username”]变量以正确使用它

<?php
    if(isset($_POST['login'])) {
        echo "Hello " . $_POST["username"];
    }
?>

您应该将$\u GET[“username”]变量更改为$\u 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,并将其放在页面顶部,以便所有错误等都通过一个文件传递。

我的建议是使用:

<?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,并将其放在页面顶部,以便所有错误等通过一个文件传递。

您是否在支持php的服务器下运行?Atm我不使用任何服务器,只使用我的浏览器。这就是问题所在吗?@Isabell是否在localhost中?我想我需要xampp,不是吗?PHP是服务器端代码-如果没有服务器,它将无法执行。较新版本确实有一个内置的轻量级测试服务器,如果您不想走完整的Apache路线,您可以使用它:您是在支持php的服务器下运行吗?Atm我不使用任何服务器,只使用我的浏览器。这就是问题所在吗?@Isabell是否在localhost中?我想我需要xampp,不是吗?PHP是服务器端代码-如果没有服务器,它将无法执行。较新的版本确实有一个内置的轻量级测试服务器,如果您不想走完整的Apache路线,您可以使用它:但是我不希望该值在url中可见,但我不希望该值在url中可见