在Twitter Bootstrap类中使用“action”

时间:2012-09-21 18:01:41

标签: php html css twitter-bootstrap

我是一名新手程序员,试图利用Twitter Bootstrap来构建一个概念。我正在使用PHP并将HTML标记中的操作分配给POST数据,并且实际上是让用户完成导航。使用表单时这非常简单:即这是一个可行的代码片段。例如,对于HTML的这个片段:

<form action="?viewnotes" method="post">
<input type="hidden" name="id" value="<?php htmlout($note['id']); ?>">
</form>

它成功触发了我的index.php中的以下if语句:

if (isset($_GET['viewnotes']))

但是,我正在尝试在我的注册页面中使用Twitter Bootstrap类来执行相同的操作。这是HTML:

<a class="btn btn-primary btn-large" action="?register">Sign Up Free!&raquo;</a></p>

PHP代码是:

if (isset($_GET['register']))
{
include 'register.html.php';    
}

单击“注册”按钮不会调用PHP代码。如果我对其工作的URL进行硬编码,但我在register.html.php页面上遇到了类似的问题。注册页面上的HTML有:

<form class="form-horizontal" action="?storeuser" method="post">
  <fieldset>
        <legend>It's quick and easy...</legend>
        <div class="control-group">
            <label class="control-label">First Name</label>
            <div class="controls">
                <input type="text" name="fname" class="input-xlarge" id="fname">
            </div>
        </div>
        <div class="control-group">
            <label class="control-label" name="lname">Last Name</label>
            <div class="controls">
                <input type="text" name="lname" class="input-xlarge" id="lname">
            </div>
        </div>
        <div class="control-group">
            <label class="control-label" name="email">Email Address</label>
            <div class="controls">
                <input type="text" name="email" class="input-xlarge" id="email">
            </div>
        </div>
        <div class="control-group">
            <label class="control-label" name="password">Password</label>
            <div class="controls">
                <input type="password" name="password" class="input-xlarge" id="password">
            </div>
        </div>
    </fieldset>
    <button type="submit" name="action" class="btn btn-primary btn-large">Complete Registration</button>
</form>

但是,单击该按钮时,索引文件不会触发以下内容,这会将字段存储到数据库中。

if (isset($_GET['storeuser']))

如果我将URL硬编码到register.html.php,那么生成的URL看起来像localhost / register.html.php?storeuser而不是localhost /?storeuser。我不确定这是否会影响这里的行为。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

我认为你接近这个错误的方式,而不是Twitter Bootstrap的错。

通常,您使用 POST ,而不是 GET 来处理用户注册。你的表格看起来像这样:

<form action="register.php" method="post">
  <!-- your form -->
  <fieldset>
    <input type="submit" name="register" value="Register" class="btn btn-primary" />
  </fieldset>
</form>

然后您可以按如下方式构建 register.php

<?php
if (isset($_POST['register'])) {
    // handle user registration
}

// display form
?>

当用户访问 register.php 时会显示该表单,但如果表单已被POST,则会先尝试处理用户注册。

答案 1 :(得分:0)

尝试使用您的GET变量传递值

<form action="?viewnotes=1" method="post">