在bootstrap模式上提交后刷新页面

时间:2014-08-02 17:17:56

标签: javascript php jquery html twitter-bootstrap

我在我的一个项目中使用bootstrap管理主题。我在其中一个php页面中有一个弹出模式,我在弹出窗口中有一个注册表单,现在当我输入详细信息并单击提交时,数据实际上被插入到数据库中并且模式默认关闭,但页面不刷新,因为我在页面中有一个注册成员的表,我只能在刷新页面时看到该条目,当我刷新页面时,它再次要求我重新加载页面或关闭警报框,当我点击重新加载时,该条目进入数据库两次,我附上我的代码,请帮助,我是新的堆栈溢出和引导程序。

模态代码

<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">Add New Member </button>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
        <h4 class="modal-title" id="myModalLabel">Add New Member</h4>
      </div>
      <div class="modal-body">
        <form method="post">
          <fieldset>
            <div class="form-group">
              <label>First Name</label>
              <input name="fname" class="form-control" placeholder="First Name" type="text" required>
            </div>
            <div class="form-group">
              <label>Last Name</label>
              <input name="lname" class="form-control" placeholder="Last Name" type="text" required>
            </div>
            <div class="form-group">
              <label>Email Address</label>
              <input name="email" class="form-control" placeholder="Email Address" type="email" required>
            </div>
            <div class="form-group">
              <label for="h-input">Cell Number</label>
              <input name="cell" type="text" class="form-control" placeholder="XXX XXX XXXX (Enter number without space)">
            </div>
            <div class="form-group">
              <label>Member Type</label>
              <select class="form-control" name="membertype">
                <option value="Member">Member</option>
                <option value="Guest">Guest</option>
              </select>
            </div>
            <div class="form-group">
              <label>Member Status</label>
              <select class="form-control" name="memberstatus">
                <option value="Active">Active</option>
                <option value="Inactive">Inactive</option>
              </select>
            </div>
          </fieldset>
          <div>
            <input name="addmember" class="btn btn-primary" value="Add New Member" type="submit"/>
          </div>
        </form>
        <?php
        if(isset($_POST['addmember'])) {
            require('config.php');
            $fname = $_POST['fname'];
            $lname = $_POST['lname'];
            $email = $_POST['email'];
            $cell = $_POST['cell'];
            $mtype = $_POST['membertype'];
            $mstatus = $_POST['memberstatus'];  

            $addmember = "INSERT INTO members (fname, lname, email,cellnumber,type,status,regdate) VALUES (:fname,:lname,:email,:cell,:mtype,:mstatus,CURDATE())";

            $q = $conn->prepare($addmember);
            $q->execute(array(
            ':fname'=>$fname,
            ':lname'=>$lname,
            ':email'=>$email,
            ':cell'=>$cell,
            ':mtype'=>$mtype,
            ':mstatus'=>$mstatus,
            )); 
            if(!$q) {
                echo "Error: Member not added.";
            }
            else {
                header("Location: addMembers.php");
            }
        }
        ?>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>

我已经将这个模态文件创建为一个单独的文件,并包含在我的主要php文件中,其中打印了注册成员表。

1 个答案:

答案 0 :(得分:0)

位置需要绝对路径。检查“注释”部分中的倒数第二个注释。

http://php.net/manual/en/function.header.php

当您手动刷新页面时,您只是重新发送已提交的表单数据,这就是您在数据库中获得两个条目的原因。