php表单问题(不显示php echo)

时间:2015-09-07 18:52:44

标签: php html

我一直在创建一个需要登录的网站,我这样做是为了在提交表单时,在PHP的H1标签下会出现一个小文本,表示提交表单。现在文本没有弹出。我做错了什么?

以下是代码:

<?php
    if ($_POST["submit"]) {
        $result = "Form Submitted";
    }
?>
<!DOCTYPE html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <!-- Include all compiled plugins (below), or include individual files as needed -->
        <script src="js/bootstrap.min.js"></script>
        <!-- Latest compiled and minified CSS -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
        <!-- Optional theme -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
        <!-- Latest compiled and minified JavaScript -->
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
    </head>
    <body>
        <div class="container">
            <div class="row">
                <div class="col-md-6 col-md-offset-3">
                    <h1>My email form</h1>
                    <?php echo $result; ?>

                    <form method = "post">
                        <div class="form-group">
                            <label for = "name">Your Name: </label>
                            <input class="form-control" type="text" name = "name" />
                        </div>

                    <div class="form-group">
                            <label for = "email">Your Email: </label>
                            <input class="form-control" type="email" name = "email" />
                    </div>

                    <div class="form-group">
                            <label for = "comment">Your Comment: </label>
                            <textarea class="form-control" name = "comment" /></textarea>
                    </div>
                    <input type="button" id = "button" name = "submit" class="btn btn-success" value="Enter"/>


                    </form>
                </div>
            </div>
        </div>
    </body>
</html>

5 个答案:

答案 0 :(得分:1)

正如我在http://www.remweb.org上看到的,PHP并没有在您的服务器上运行。 (http://i.stack.imgur.com/kkwCW.png

答案 1 :(得分:0)

将按钮更改为提交按钮 ..

即,替换

<input type="button" id = "button" name = "submit" class="btn btn-success" value="Enter"/>

<input type="submit" id = "button" name = "submit" class="btn btn-success" value="Enter"/>

答案 2 :(得分:0)

尝试

<?php
    if (isset($_POST["submit"])) {
        $result = "Form Submitted";
    }
?>

答案 3 :(得分:0)

试试这个

<input type="submit" id ="button" name ="submit" class="btn btn-success" value="Enter"/>

<?php
    $result = "";
    if (isset($_POST["submit"])) {
        $result .= "Form Submitted";
    }
?>

答案 4 :(得分:0)

旁注:从另一个答案的评论中删除了网址。

  

“如果你愿意,这段代码可以在www.remweb.org上找到,所以你可以看到自己。 - Aaron Janke 2小时前”

这里有一些问题。

首先,您的域http://www.remweb.org/有一个名为index.html的索引文件(我最后在index.html中键入以确保它是相同的文件/表单),并在执行{ {3}}它显示了表格。您的服务器似乎使用.html文件作为其默认索引。

  • 我也(猜到了)去了http://www.remweb.org/index.html看看你是否有一个PHP索引文件,它显示“hello”,因此这告诉我PHP似乎正在运行。

因此,您需要将.html版本替换为.php,或者将已发布代码的文件重命名为“form.php”,这样就可以了。

NOTA:http://www.remweb.org/index.php(作为您的表单)包含未由服务器解析的PHP指令,默认情况下不包含。

要么按照我的建议执行,要么指示Apache将.html文件视为PHP。

另外,由于您的表单包含3个元素,并且操作用于同一页面,因此您需要使用!empty()来回显这些输入的结果。

if(!empty($_POST['name'])){
    $name = $_POST['name'];

    echo $name;

}

并为其他人做同样的事。

或者,从PHP中分离您的.html文件,并使用文件指针进行操作,并回显另一个文件中的所有内容。

即:action="action_file.php"

并在该文件中保存PHP指令。

  • 您的提交按钮的类型<input type="button"需要是“提交”类型,而不是“按钮”<input type="submit"