繁体   English   中英

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"];
    }
?>

我猜这是一个语法问题,但我找不到。 也许你看到了。 非常感谢!

您应该将$ _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并将其放置在该页面的顶部,以便所有错误等都通过一个文件传递。

您在app.php中有php代码吗? 如果有,那么您尚未在Apache中启用mod_php。 我建议您使用wampserver(在Windows上),因为它可以处理基本的apache / php配置。

http://www.wampserver.com/en/

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

首先,我认为您没有正在运行的Apache服务器来使您的PHP代码正常工作。 而且,您使用POST no GET发送数据时,必须使用POST方法来处理数据。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM