PHP实现用户登录功能(MySQL+Session+表单)

一、环境准备

可参考本人之前的一篇拙作(如果只在本地调试,则只看第一部分即可):【XAMPP的安装,配置】+【Apache的外网访问】+【默认主页修改】详细步骤图文教程


二.思路分析:

1.通过html页面中的表单标签(即<form>标签),接收用户输入(用户名、密码),在表单的action属性中,指定要处理表单数据的php文件。

2.在接收用户输入的php文件中,将用户输入的用户名、密码这两个字段同时作为一个条件在数据库的用户表中进行查找,并用session记录用户在数据库表中的id

3.页面自动跳转至用户信息显示页,通过session中暂存的用户id,读取出此id用户的用户名、个人简介。


三.文件结构

在这里插入图片描述
在这里插入图片描述


四.功能演示

1.在本地服务器中打开此文件项目
在这里插入图片描述
2.输入用户信息
在这里插入图片描述
3.点击提交
在这里插入图片描述
4.点击确定,跳转到用户信息显示页
在这里插入图片描述


五、源码展示

1.index.html文件:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>php登录测试</title>
	</head>
	
	<body>
		<form action="register.php" method="POST" >
		
			<label>用户名:</label>
			<input type = "text" name = "username"/> <br/>
			
			<label>密码:</label>
			<input type = "password" name="password"/> <br/>
			
			<input type = "submit" value = "提交"/>
			
		</form>
	</body>
</html>

2.register.php文件:

<?php
	session_start();

	//$_POST用户名和密码
	$username = $_POST['username'];
	$password = $_POST['password'];
	//连接mysql
	$con = mysqli_connect('localhost','root','', 'gamesweb');
	//验证mysql连接是否成功
	if(mysqli_errno($con)){
		echo "连接mysql失败:".mysqli_error($con);
		exit;
	}
	//sql查询语句
	$sql = "select user_id from test where username='$username' and password='$password'";
	//执行
	$result = mysqli_query($con,$sql);
	$num = mysqli_num_rows($result); // 函数返回结果集中行的数量
	if($num){
		echo "<script>alert('登录成功');</script>";
	} else{
		echo "<script>alert('登录失败,不存在此用户');</script>";
	}
	
	$row = mysqli_fetch_assoc($result);
	$_SESSION['userid'] = $row['user_id']; // session
	
	mysqli_close($con);
	
	echo "<script>window.location.href = 'show.php'</script>";
?>

3.show.php文件:

<?php
	session_start();
	$userid = $_SESSION['userid'];
	//连接mysql
	$con = mysqli_connect('localhost','root','', 'gamesweb');
	//验证mysql连接是否成功
	if(mysqli_errno($con)){
		echo "连接mysql失败:".mysqli_error($con);
		exit;
	}
	//sql查询语句
	$sql = "select username, talk from test where user_id='{$userid}'";
	//执行
	$result = mysqli_query($con,$sql);
	$row = mysqli_fetch_assoc($result);
	$name = $row['username'];
	$talk= $row['talk'];
	mysqli_close($con);
?>
<!DOCTYPE html>
<html>
	<head>
		<title>用户信息</title>
	</head>
	
	<body>
		<p>
			用户名:
			<?php  
				echo $name;
			?>
		</p>
		
		<p>
			个人简介:
			<?php  
				echo $talk;
			?>
		</p>
	</body>
</html>
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超周到的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值