我目前正在制作用户注册页面。单击提交按钮并验证所有内容后,页面只会重新加载,信息仍然存在。当我检查我的phpmyadmin数据库时,添加了条目,字段中没有任何内容。可能是什么问题?
这是我的register.php代码。
<html lang="en"><head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<!-- Bootstrap core CSS -->
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="signin.css" rel="stylesheet">
<script type="text/javascript">
function apply()
{
document.frm.sub.disabled=true;
if(document.frm.chk.checked==true)
{
document.frm.sub.disabled=false;
}
if(document.frm.chk.checked==false)
{
document.frm.sub.enabled=false;
}
}
</script>
</head>
<body>
<?php
// define variables and set to empty values
$lnameErr = $fnameErr = $emailErr = $pwdErr = $reentErr = "";
$lname = $fname = $email = $pwd = $reent = "";
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$valid=true;
if (empty($_POST["lname"])) {
$lnameErr = "Please enter your last name";
$valid=false;
} else {
$lname = test_input($_POST["lname"]);
}
if (empty($_POST["fname"])) {
$fnameErr = "Please enter your first name";
$valid=false;
} else {
$fname = test_input($_POST["fname"]);
}
if (empty($_POST["email"])) {
$emailErr = "Please enter your email address";
$valid=false;
} else {
$email = test_input($_POST["email"]);
}
if (empty($_POST["pwd"])) {
$pwdErr = "Please enter your password";
$valid=false;
} else {
$pwd = test_input($_POST["pwd"]);
}
if (empty($_POST["reent"])) {
$reentErr = "Please re-enter your password";
$valid=false;
} else {
$reent = test_input($_POST["reent"]);
}
if ($_POST['pwd']!= $_POST['reent'])
{
$reentErr = "Passwords do not match";
}
else {
$reent = test_input($_POST["reent"]);
}
}
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if (!empty($valid))
{
header('Location: registerinsert.php');
exit();
}
?>
<div class="container" id="contain">
<form role="form" name="frm" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
<h1 style="font-weight:bold;">Registration</h1>
<hr></br>
<div class="form-group">
<label for="" class="col-sm-4 control-label">Last Name<span class="error">*</span></label>
<div class="col-sm-7">
<input type="text" class="form-control" name="lname" id="" placeholder="Last Name"
value="<?php if(isset($_POST['lname'])) {
echo htmlentities($_POST['lname']); // always filter outputs of external data
} ?>"><span class="error"><?php echo $lnameErr;?></span>
</div>
</div>
</br></br></br>
<div class="form-group">
<label for="" class="col-sm-4 control-label">First Name<span class="error">*</span></label>
<div class="col-sm-7">
<input type="text" class="form-control" name="fname" id="" placeholder="First Name"
value="<?php if(isset($_POST['fname'])) {
echo htmlentities($_POST['fname']); // always filter outputs of external data
} ?>"><span class="error"><?php echo $fnameErr;?></span>
</div>
</div>
</br></br></br>
<div class="form-group">
<label for="" class="col-sm-4 control-label">Email Address<span class="error"> *</span></label>
<div class="col-sm-7">
<input type="text" class="form-control" name="email" id="" placeholder="Email Address"
value="<?php if(isset($_POST['email'])) {
echo htmlentities($_POST['email']); // always filter outputs of external data
} ?>"><span class="error"><?php echo $emailErr;?></span>
</div>
</div>
</br></br></br>
<div class="form-group">
<label for="inputPassword3" class="col-sm-4 control-label">Password<span class="error"> *</span></label>
<div class="col-sm-7">
<input type="password" class="form-control" name="pwd" id="password1" placeholder="Password"
value="<?php if(isset($_POST['pwd'])) {
echo htmlentities($_POST['pwd']); // always filter outputs of external data
} ?>"><span class="error"><?php echo $pwdErr;?></span>
</div>
</div>
</br></br></br>
<div class="form-group">
<label for="inputPassword3" class="col-sm-4 control-label">Re-enter Password<span class="error"> *</span></label>
<div class="col-sm-7">
<input type="password" class="form-control" name="reent" id="password2" placeholder="Re-enter Password" onChange="checkPasswordMatch();"
value="<?php if(isset($_POST['reent'])) {
echo htmlentities($_POST['reent']); // always filter outputs of external data
} ?>"><span class="error"><?php echo $reentErr;?></span>
<div class="registrationFormAlert" id="divCheckPasswordMatch">
</div>
</div>
</div>
<div class="checkbox">
<label>
<input type="checkbox" value="" id="checkbox" name="chk" onClick="apply()">
I have read and accepted the
<a href="policies.php" target="_blank" style="text-decoration:none; font-weight: bold;">Terms and Conditions</a> and
<a href="privacy_policy.php" target="_blank" style="text-decoration:none; font-weight: bold;">Privacy Policy</a>.
</label>
</div>
</br></br>
<button type="submit" name="sub" value="submit" class="btn btn-default" disabled>Submit</button>
<button type="reset" class="btn btn-default" value="Reset">Reset</button>
</form>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>
</body>
</html>
这是我的registerinsert.php代码。
<?php
$con=mysqli_connect("localhost","root","","mytreats");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$value=$_POST['lname'];
$value2=$_POST['fname'];
$value3=$_POST['email'];
$value4=$_POST['pwd'];
$sql="INSERT INTO user_info (lname, fname, email, pwd)
VALUES ('$value', '$value2', '$value3', '$value4')";
if (!mysql_query($sql))
{
die('Error:' . mysql_error());
}
mysql_close();
?>
这里有错误吗?谢谢你:D
答案 0 :(得分:0)
> if (!empty($valid))
> {
> header('Location: registerinsert.php');
> exit();
> }
标题重定向不是post方法,因此你在registerinsert.php页面中丢失了所有的帖子数据
尝试将验证代码保存在registerinsert.php中,并将操作设置为registerinsert.php
答案 1 :(得分:0)
编辑表格标签,如下所示
<form role="form" name="frm" action="registerinsert.php" method="post">
并编辑如下所示的条件
if (!mysqli_query($sql))
{
die('Error:' . mysql_error());
}