代码:账号密码输入正确,但是无法跳转用户页面
if(isset($_POST['submit'])){
//引用数据库
$conn = mysqli_connect($db_hostname,$db_username,$db_password,$db_database);
$user_username = mysqli_real_escape_string($conn,trim($_POST['username']));
$user_password = mysqli_real_escape_string($conn,trim(md5($_POST['password'])));
zhuce.php
<!--注册页面,简易化的功能,只需要输入用户名和密码即可,但需要判断用户名是否已经存在-->
<meta charset="UTF-8">
<?php
/*需要连接数据库,将代码连接进来*/
include ('sql.php');
?>
<style>
*{
padding: 0;
margin: 0;
list-style: none;
text-decoration: none;
}
</style>
<form method="post">
<h1>注册页面</h1>
<ul>
<li><input type="text" name="name" placeholder="输入登录名"></li>
<li><input type="password" name="password1" placeholder="输入密码"></li>
<li><input type="password" name="password" placeholder="确认密码"></li>
<li><input type="submit" value="注册"> <input type="button" value="返回登录" id="dl"></li>
</ul>
</form>
<?php
if ($_POST){
$name = $_POST['name'];
$password1 = $_POST['password1'];
$password = $_POST['password'];
if ($password1 == $password){
/*输入没有逻辑问题,开始判断用户名是否已经存在于数据库*/
$select = "select * from admin where name = '$name'";
$query = $conn->query($select);
$row = mysqli_fetch_assoc($query);
/*如果存在,则说明数据库中有重名的*/
if ($row){
echo "<script>alert('用户名已存在,请重新输入!')</script>";
}else{
$insert = "insert into admin(name,password) value('$name','$password')";
$query1 = $conn->query($insert);
/*将这语句执行后,就已经能够将数据存入数据库中,所以需要弹到登录页面进行登录*/
echo "<script>alert('注册成功,前往登录!');
window.location.href='denglu.php';
</script>";
}
}else{
echo "<script>alert('两次密码不一致,请重新输入!')</script>";
}
}
?>
<!--点击返回登录后,需要跳转到登录页面,还是使用js来进行-->
<script>
$('#dl').click(function () {
window.location.href="denglu.php";
});
</script>
至此,登录注册页面基本完成,但是在其中有一个小小的漏洞,在注册的时候什么都不输入,直接点击注册,是能够注册成功的,因为每一个框中的值都是空的,符合设计的条件可以在判断密码是否一致的时候加入:&& $name!=null && $password!=null使用户名和密码不能为空,但是输入相同位数的空格,也可以注册成功,需要在input框中使用正则表达式进行控制。