php - 在 Twitter Bootstrap 类中使用 "action"

标签 php html css twitter-bootstrap

我是一名新手程序员,试图利用 Twitter Bootstrap 构建一个概念。我正在使用 PHP 并将 HTML 标记内的操作分配给 POST 数据,并在本质上 Bootstrap 用户完成导航。这在使用表单时非常简单:即这里是一个有效的片段。例如,对于这段 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。我不确定这是否会影响这里的行为。

谢谢你的帮助!

最佳答案

我认为您的处理方式有误,这不是 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 时显示表单,但如果表单已发布,将首先尝试处理用户注册。

关于php - 在 Twitter Bootstrap 类中使用 "action",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12535768/

相关文章:

javascript - 将 php 数组从 php 文件引入 js 文件中的 javascript 数组

html - <div> 之后的 Scrapy 抓取文本

javascript - 显示从选择到另一个选择的标题的选定选项

javascript - 当我使用 firefox 时,textarea 上的灰色边框线

php - 连接postgres和php,使用d3.js可视化

php - 对不同表中的相同字段进行排序

php - 存储 Facebook 访问 token 的标准方法是什么?数据库还是cookie?

html - 三 Angular 形周围的CSS框阴影

javascript - jQuery-UI slider 不显示

html - 使颜色图例与其他 div 在同一行 float