PHP+Apache+MySQL实现简易的注册登陆系统

1.环境搭建

点击打开链接

2.设计html

既然是注册及登陆两个功能,就需要用html中的<from>写两个表单,用于提交数据

1)注册表单

 <form action="register.php" method="post"> 
            <p>
                <input type="text" name="user" placeholder="请输入用户名">
            </p>
            <p>
                <input type="password" name="pwd" placeholder="请输入密码">
            </p>
            <p>
                <input type="password" name="rpwd" placeholder="请确认密码">
            </p>
            <p>
                <input type="submit" value="确定">
                <input type="button" value="取消" id="cancel">
            </p>
        </form> 

将数据提交给register.php(见后),在php中对数据进行处理

2)登陆表单

  <form action="login.php" method="post">
                <p>
                    <input type="text" name="user" placeholder="请输入用户名">
                </p>
                <p>
                    <input type="password" name="pwd" placeholder="请输入密码">
                </p>
                <p>
                    <input type="submit" value="确定">
                    <input type="button" value="注册" id="res">
                </p>
            </form>

3.设计php

php用于接收浏览器传送过来的数据并与数据库进行交互

1)register.php

<?PHP
$user=$_POST['user'];//$_POST是php中的预定义数组(系统定义无需用户定义),用于接收post过来的数据
$pwd=$_POST['pwd'];
$rpwd=$_POST['rpwd'];


$host='127.0.0.1';//本地主机
$db_user='root';//数据库账户
$db_pwd='111111';//数据库密码
$db_name='test';//数据库名称
//新建数据库对象,连接数据库
$db=new mysqli($host,$db_user,$db_pwd,$db_name);//创建mysqli对象建立数据库连接
$user_check="select * from t_user where username='{$user}'";
//sql查询语句返回数据对象
$mysql_result=$db->query($user_check);
//定义变量调用fetch_array顺次接受单条记录
$row=$mysql_result->fetch_array(MYSQLI_ASSOC);
//如果不为null,则说明数据库中已经有了该用户名
if($row<>null){
	echo "<script>alert('该用户名已存在!')
	window.location.href='Login.html'</script>";
}

//->类似于Java中的.  用于对对象属性和对象方法的调用,而connect_errno是mysqli对象的一个属性
//<>是不等于的意思,0代表false
if($db->connect_errno<>0){
	//数据库连接失败会截停程序
	die('数据库连接失败');
}

//限制密码的位数
else if($user===""){
	echo "<script>alert('用户名不得为空!')
	window.location.href='Login.html'</script>";

}
else if(strlen($pwd)<6 or strlen($pwd)>15){
	echo "<script>alert('密码不得小于6位或大于15位!')
	window.location.href='Login.html'</script>";


}
//判断两次输入的密码是否一致
else if($pwd<>$rpwd){
	echo "<script>alert('两次输入密码不一致!')
	window.location.href='Login.html'</script>";
}

else{
	//设置数据的传输编码,防止乱码
	$db->query("SET NAMES UTF8");
	$sql="INSERT INTO t_user(username,pwd) values('{$user}','{$pwd}')";
	//调用query方法进行数据库操作,并且返回一个Boolean值
	$db->query($sql);
	echo "<script>alert('注册成功!');
	window.location.href='Login.html'</script>";
}
?>

2)login.php

<?php

$user=$_POST['user'];
$pwd=$_POST['pwd'];


$host='127.0.0.1';
$db_user='root';
$db_pwd='111111';
$db_name='test';
//新建数据库对象,连接数据库
$db=new mysqli($host,$db_user,$db_pwd,$db_name);
$user_check="select * from t_user where username='{$user}'";
//取到值(包括取到null)返回一个对象,取不到值返回false
//query执行插入语句时返回true和false,执行查询语句时返回一个对象
$mysql_result=$db->query($user_check);
if($mysql_result === false){
	echo "SQL错误";
	exit;
}
//通过fetch_array方法取出结果集中的一条记录,多次调用顺次提取
$row=$mysql_result->fetch_array(MYSQLI_ASSOC);
//在最外层的if语句中判断用户名密码是否为空值
if($user==="" or $pwd===""){

	echo "<script>alert('用户名或密码不能为空!')
	window.location.href='Login.html'</script>";
	
}
else{
	//若取到的查询结果为null则说明用户名不存在
	if($row===null){
		echo "<script>alert('用户名不存在!')
		window.location.href='Login.html'</script>";

	}
	else{
	//若用户名存在,则判断输入密码与数据库中密码是否一致
		if($row['pwd']<>$pwd){
			echo "<script>alert('密码错误,请重新输入!')
			window.location.href='Login.html'</script>";
		}
		//登陆成功,跳转至主页面
		else{		
		}
	}
}
	?>

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值