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