无法使用php访问表单变量

时间:2014-08-30 08:13:10

标签: php html twitter-bootstrap input

我是Web开发的新手,并且一直在忙于BootStrap。我一直在尝试在我的新网站上创建一个Web表单,但我似乎无法访问用户名变量。

这是我的表单代码:

    <form class="navbar-form navbar-left" role="search" action="username">
        <div class="form-group">
            <input name="username" type="text" class="form-control" placeholder="Username">
        </div>
        <button type="submit" class="btn btn-default">Search</button>
    </form>

这是我在用户名文件夹中的index.php

    <?php
        echo $_POST['username'];
        echo 'fail';
        echo 'username';
        if(isset($_POST['username'])) {
            $name = $_POST['username'];
            echo 'success';
        }
    ?>

通过我的调试,我得到消息无法显示,但没有显示用户名,所以我认为我做错了设置用户名或访问它。

3 个答案:

答案 0 :(得分:2)

根据您的描述,您的HTML代码应如下所示:

<form method="post" class="navbar-form navbar-left" role="search" action="username/index.php">
    <div class="form-group">
        <input name="username" type="text" class="form-control" placeholder="Username">
    </div>
    <button type="submit" class="btn btn-default">Search</button>
</form>

您也可以使用<input class="btn btn-default" type="submit" value="Search"/>代替<button type="submit"></button>

答案 1 :(得分:0)

您有以下错误

  1. 您没有在表单中设置method属性。因此,在提交表单时,数据将通过get方法发布。您需要访问$_GET变量才能获取表格数据。因此,当您提交表单时,数据将显示在$_GET变量中。但您尝试访问代码中的$_POST变量。因此,您可以尝试将方法属性设置为method="post在你的表单中继续使用index.php中的相同代码或尝试在index.php中将$_POST更改为$ _GET`并且不对表单进行任何更改

  2. 提交表单时,你正在definging index.php中的代码。所以你需要在表单中设置action="index.php"

  3. 所以最终会是这样的

    <form class="navbar-form navbar-left" role="search" action="username/index.php" method="post">
        <div class="form-group">
            <input name="username" type="text" class="form-control" placeholder="Username">
        </div>
        <button type="submit" class="btn btn-default">Search</button>
    </form>
    

    的index.php

     <?php
            echo $_POST['username'];
            echo 'fail';
            echo 'username';
            if(isset($_POST['username'])) {
                $name = $_POST['username'];
                echo 'success';
            }
        ?>
    

    OR

    <form class="navbar-form navbar-left" role="search" action="username/index.php">
        <div class="form-group">
            <input name="username" type="text" class="form-control" placeholder="Username">
        </div>
        <button type="submit" class="btn btn-default">Search</button>
    </form>
    

    的index.php

    <?php
        echo $_GET['username'];
        echo 'fail';
        echo 'username';
        if(isset($_GET['username'])) {
            $name = $_GET['username'];
            echo 'success';
        }
    ?>
    

答案 2 :(得分:0)

如果您使用action访问用户名,请将index.php属性设置为method="post"并设置$_POST['username']