后退按钮背后的逻辑

时间:2015-07-06 08:44:29

标签: javascript php jquery html

我正在开展一个项目,我必须放回按钮功能。不幸的是,我似乎无法解决这个问题。我创建了一个后退按钮,它的工作原理。但是,如果用户想要编辑以前的表单然后再次提交数据,那么它会编辑查询。我在我的项目中尝试了它,但它在数据库中添加了另一条记录,并且没有更新前一条记录。我知道我这里没有使用任何更新查询。现在我被困住它将如何运作我无法想到一个好的逻辑。我举了一个简单的表格。它写在下面。

<?php
    $con = mysqli_connect('localhost','root','','test1');
    if (isset($_POST['sub'])) {
        $first_name = $_POST['fname'];
        $second_name = $_POST['lname'];
        $sql = "INSERT INTO `tbl`(`first_name`, `last_name`) VALUES
               ('$first_name', '$second_name')";
        $run = mysqli_query($con, $sql);
     }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Untitled Document</title>
    </head>
    <body>
        <form method="POST" action="nextpage.php">
            First_name: <input type="text" name="fname">
            Second_name: <input type="text" name="lname">
            <input type="submit" name="sub" value="submit">
        </form>
    </body>
</html>

nextpage.php

<?php
    $con = mysqli_connect('localhost','root','','test1');
?>
<html>
    <body>
        <h1>Next Page</h1>
        <p>The query is submitted press ok to forward and back if you want to go back</p>
        <button>OK</button>
        <button onclick="history.go(-1);">Back</button>
    </body>
</html>

感谢您提前获得专家意见。

3 个答案:

答案 0 :(得分:3)

如果我理解正确.. ..你需要做很多工作才能'更新'你刚刚创建的记录。

不要试图“回到”原始表单,转到新的“编辑”表单,从刚刚创建的记录中传递ID。

使用ID从数据库中选择该记录并预先填充“编辑”表单。向表单添加隐藏ID字段。然后在提交“编辑”表单时,使用ID更新现有记录。

答案 1 :(得分:0)

我认为你正在接受&#34;回来&#34;按钮太字面了。你正在模仿浏览器的后退按钮。相反,将链接文本更新为&#34;编辑提交的记录&#34;,并修改提交页面并具有编辑功能,(例如,隐藏的输入字段,其中包含最后创建的项目的索引值),或重定向到专用于编辑提交记录的页面。用户会看到它返回,但功能会有所不同。

SubmitForm:将

props.getValues()

nextpage.php

SELECT employee.EMP_ENG_NAME_P1, employee.EMP_ENG_NAME_P2, users.USER_ID, COUNT(privileg.ID), COUNT(pages.ID)
FROM employee
  INNER JOIN users on users.USER_EMP = employee.EMP_ID
  INNER JOIN privileg on users.ID= privileg.USER_ID
  INNER JOIN pages on users.ID = pages.userCreatorID
GROUP BY users.ID 

答案 2 :(得分:0)

这是我自己的问题的答案。希望它会帮助某人......

test.php的

    <?php
    session_start();
     $con=mysqli_connect('localhost','root','','test1');

       if(isset($_POST['sub'])){
       $first_name=$_POST['fname'];
          $second_name=$_POST['lname'];
          $sess_username=$_SESSION['user_name'];
          $sql="INSERT INTO `tbl`(`first_name`, `last_name`,`sess_username`)  
          VALUES ('$first_name','$second_name','$sess_username')";
          $run=mysqli_query($con, $sql);
 header("location:nextpage.php");
 }

      if(isset($_POST['upd'])){

     $first_name=$_POST['fname'];
         $second_name=$_POST['lname'];
     $id=@$_GET['id'];
     $upd="UPDATE `tbl` SET               
    `first_name`='$first_name',`last_name`='$second_name' WHERE `id`='$id'";    
      $query=mysqli_query($con, $upd);
        header("location:nextpage.php");
    }
     ?>

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <script type="text/javascript" src="http://code.jquery.com/jquery.js">      
  </script>

  <script type="text/javascript"> 
  $(document).ready(function () {
    if(window.location.href.indexOf("id") > -1) {
      $('.submit').hide();
   $('.update').show();
   }
     });

  </script>
  <title>Untitled Document</title>
  </head>

  <body>
 <form method="POST" action="">
 First_name:<input type="text" name="fname">
 Second_name:<input type="text" name="lname">
 <input class="update" type="submit" value="Update" name="upd"    
 style="display:none;">
 <input class="submit" type="submit" name="sub" value="submit">
 </form>
 </body>
 </html>




 nextpage.php


     <?php
    session_start();
   $con=mysqli_connect('localhost','root','','test1');
   $sql="SELECT * FROM `tbl` WHERE  
   `sess_username`='".$_SESSION['user_name']."'";
   $run=mysqli_query($con, $sql);
   while($res=mysqli_fetch_assoc($run)){
   $id=$res['id'];
   $firstname=$res['first_name'];
   $lastname=$res['last_name'];
    $sess=$res['sess_username'];
   }

  ?>
 <html>
 <body>
 <h1>Next Page</h1>
 <p>The query is submitted press ok to forward and back if you want to go    
 back</p>
 <button >OK</button>
 <form method="POST" action="test.php">

<?php echo "<a href='test.php?id=$id;'>Back</a>"; ?>
 </form>
</body> 
 </html>