簡體   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