我是一名新手程序员,试图利用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!»</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。我不确定这是否会影响这里的行为。
感谢您的帮助!
答案 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">