Python课堂题目--用户登录系统

编写用户登录系统

1.系统里面有多个用户,用户的信息目前保存在列表中
user=[“root”,“westos”]
password=[“123”,“456”]
2.用户登录(判断用户登录是否正确)

  • 判断用户是否存在
  • 如果用户存在,判断用户密码是否正确,如果正确登陆成功,退出循环。如果密码不正确,总共有三次机会登录
  • 如果用户不存在,重新登录,总共有三次机会

代码:

caidan='''
1.进行登录
2.退出
'''
user=['root','westos']
password=['123','456']
print(caidan)
while True:
	choice=int(input("操作数字为:"))
	if choice==1:
			cont=0
			for i in range(3):
				a=input("请输入用户名:")
				if a in user:

					b=input("请输入密码:")
					while cont<2:
						if b in password:
							print("登录成功!")
							exit()
						else:
							cont+=1
							print("密码输入错误,请重新输入")
							b=input("请输入密码:")
					print("密码输入错误三次,您没有登录机会了!")
					exit()
				else:
					print("没有此用户名,请重新输入")
			print("用户名输入错误三次,您没有登录机会了!")
			exit()
	elif choice==2:
		print("退出!")
		exit()
	else :
		if choice!=1 or choice!=2:
			print("请输入正确的操作数:")
			continue

结果:

1.进行登录
2.退出

操作数字为:1
请输入用户名:wq
没有此用户名,请重新输入
请输入用户名:12
没有此用户名,请重新输入
请输入用户名:3
没有此用户名,请重新输入
用户名输入错误三次,您没有登录机会了!

***Repl Closed***

1.进行登录
2.退出

操作数字为:1
请输入用户名:root
请输入密码:123
登录成功!

***Repl Closed***

1.进行登录
2.退出

操作数字为:1
请输入用户名:westos
请输入密码:3r
密码输入错误,请重新输入
请输入密码:3
密码输入错误,请重新输入
请输入密码:134
密码输入错误三次,您没有登录机会了!

***Repl Closed***

好的,您的问题是如何实现一个 PHP 信息管理系统的注册和登录功能,其中包括普通用户和管理员两种角色划分。下面是一个简单的实现。 首先,我们需要创建一个数据库来存储用户信息。假设我们的数据库名为 `mydb`,包含一个名为 `users` 的表,其中包含以下字段: - `id`:用户 ID,自增长的整数; - `username`:用户名,唯一的字符串,用于登录; - `password`:密码,用于验证用户身份; - `role`:用户角色,可以是 `user` 或 `admin`。 接下来,我们创建一个 `config.php` 文件,用于存储数据库的连接信息。例如: ```php <?php $host = 'localhost'; $dbname = 'mydb'; $username = 'root'; $password = ''; $db = new PDO("mysql:host=$host;dbname=$dbname", $username, $password); ?> ``` 在这个文件中,我们使用 PDO 创建一个数据库连接对象 `$db`,以便在后续的代码中使用。 接下来,我们创建一个 `functions.php` 文件,用于存储一些公共函数。其中,我们需要实现以下两个函数: ```php <?php // 根据用户名获取用户信息 function getUserInfo($username) { global $db; $stmt = $db->prepare('SELECT * FROM users WHERE username = ?'); $stmt->execute([$username]); return $stmt->fetch(PDO::FETCH_ASSOC); } // 验证用户密码是否正确 function validatePassword($password, $hash) { return password_verify($password, $hash); } ?> ``` `getUserInfo` 函数用于根据用户名获取用户信息,`validatePassword` 函数用于验证用户密码是否正确。注意,我们使用了 PHP 的 `password_verify` 函数来验证密码,这可以保证密码的安全性。 接下来,我们创建一个 `login.php` 文件,用于处理用户登录请求。其中,我们需要检查用户输入的用户名和密码是否正确,如果正确则将用户信息保存到会话中,并跳转到相应的页面。例如: ```php <?php session_start(); require_once 'config.php'; require_once 'functions.php'; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = $_POST['username']; $password = $_POST['password']; $userInfo = getUserInfo($username); if ($userInfo && validatePassword($password, $userInfo['password'])) { $_SESSION['user'] = $userInfo; if ($userInfo['role'] === 'admin') { header('Location: admin.php'); } else { header('Location: user.php'); } exit; } } ?> <!DOCTYPE html> <html> <head> <title>Login</title> </head> <body> <h1>Login</h1> <form method="post"> <div> <label>Username:</label> <input type="text" name="username" required> </div> <div> <label>Password:</label> <input type="password" name="password" required> </div> <button type="submit">Login</button> </form> </body> </html> ``` 在这个文件中,我们首先引入了 `config.php` 和 `functions.php`,然后判断是否有 POST 请求提交。如果有,则获取用户输入的用户名和密码,并调用 `getUserInfo` 和 `validatePassword` 函数来验证用户身份。如果验证通过,则将用户信息保存到会话中,并根据用户角色跳转到相应的页面。如果验证不通过,则显示错误信息。 最后,我们创建一个 `register.php` 文件,用于处理用户注册请求。其中,我们需要将用户信息保存到数据库中,如果保存成功则跳转到登录页面。例如: ```php <?php require_once 'config.php'; require_once 'functions.php'; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = $_POST['username']; $password = $_POST['password']; $role = $_POST['role']; $hash = password_hash($password, PASSWORD_DEFAULT); $stmt = $db->prepare('INSERT INTO users (username, password, role) VALUES (?, ?, ?)'); $stmt->execute([$username, $hash, $role]); header('Location: login.php'); exit; } ?> <!DOCTYPE html> <html> <head> <title>Register</title> </head> <body> <h1>Register</h1> <form method="post"> <div> <label>Username:</label> <input type="text" name="username" required> </div> <div> <label>Password:</label> <input type="password" name="password" required> </div> <div> <label>Role:</label> <select name="role"> <option value="user">User</option> <option value="admin">Admin</option> </select> </div> <button type="submit">Register</button> </form> </body> </html> ``` 在这个文件中,我们首先引入了 `config.php` 和 `functions.php`,然后判断是否有 POST 请求提交。如果有,则获取用户输入的用户名、密码和角色,并使用 `password_hash` 函数对密码进行加密,然后将用户信息保存到数据库中,并跳转到登录页面。如果没有 POST 请求提交,则显示注册表单。 以上就是一个简单的 PHP 信息管理系统的注册和登录功能的实现。需要注意的是,这个实现并不完整,仅供参考。在实际应用中,还需要考虑更多的安全性和稳定性问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值