这是我的php文件,我正在将数据成功插入数据库,一旦单击添加按钮,插入数据并在插入时显示警告消息“添加新用户”,但问题是数据后插入,每次我点击重新加载页面,它会将以前的数据插入数据库,并显示消息“添加新用户”。
我正在尝试插入数据库,一旦插入它,它应该显示警告消息“添加新用户”并清除所有文本框。这就是我想要做的。
<?php
require("../connect.php");
error_reporting(0);
/*
if(!(adminsessioncheck()))
header('location:index.php'); */
if(isset($_POST['add']))
{
$username=$_POST['username'];
$password=$_POST['password'];
if($_POST['password'] !== $_POST['cpassword']) {
echo("Password did not match! Try again. ");
}
else {
mysql_query("INSERT INTO users VALUES('','$username','$password')") or die(mysql_error());
echo '<script type="text/javascript"> window.onload = function(){
alert("New user added");
}</script>';
}
}
?>
<form action="" method="post" >
<table width="330" height="135" border="0" class="text">
<tr>
<td><label>User Name</label></td>
<td><input type="text" name="username" id="username" required></td>
</tr>
<tr>
<td><label>Password</label></td>
<td><input type="password" id="password" name="password" required></td>
</tr>
<tr>
<td><label>Confirm Password</label></td>
<td><input type="password" id="cpassword" name="cpassword" required></td>
</tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td><td align="center"><input type="submit" name="add" value="Add"></td></tr>
</table>
</form>
答案 0 :(得分:0)
正如@WebNovice所说,你必须发布然后重定向然后转到另一个页面以避免重新提交。 看看Post/Redirect/Get
答案 1 :(得分:0)
由于重复的表单提交,这种情况正在发生。当您刷新/重新加载页面时,您将重新提交表单,这就是数据插入并收到该消息的原因。
http://en.wikipedia.org/wiki/Post/Redirect/Get
提交表单并插入数据库后,请执行重定向:
header('Location: user.php?status=success');
再次在你的剧本中:
检查$ _GET变量以执行javascript消息
if(isset($_GET['status']) AND ($_GET['status'] == 'success')){
echo '<script type="text/javascript"> window.onload = function(){
alert("New user added");
}</script>';
}