html页面通过http访问mysql数据库中的内容,实现用户登录的功能

需求:

  通过html编写用户登录页面,页面内容包括用户名、密码和登录按钮,点击登录后访问login.php文件,使用按钮默认的submit提交用户名和密码,在login.php中访问mysql数据库,查找是否存在用户名和密码均相同的项,然后通过判断$mysqli->num_rows是否为0,为0时表示数据库中没有相同的数据,通过echo向html页面返回‘失败’的信息,反之则返回‘成功’

源码:

login.html

<!DOCTYPE html>
<html>
 <head>
  <title>用户登录界面</title>
  <meta charset="UTF-8" />
 </head>
 <body>
  <filedset>
   <legend>用户登录界面</legend>
   <form id='myform' action='login.php' method='post'>
    <table>
     <tr>
      <td>用户名:</td>
      <td><input type='text' id='userName' name='username'></td>
     </tr>
     <tr>
      <td>密   码:</td>
      <td><input type='text' id="passWord" name='password'></td>
     </tr>
     <tr>
      <td></td>
      <td><input type='submit' value='登录'></td>
     </tr>
    </table>
    
   </form>
  </filedset>
 </body>
</html>

 

login.php

<?php
 header('Content-Type:text/html; charset=utf-8;');
 $username=$_POST['username'];
 $password=$_POST['password'];
 $mysqli=new mysqli('127.0.0.1','root','','day1','3306');
 $sql="select * from people where username='$username' AND password='$password'";
 $mysqli->query("SET NAMES UTF8");
 $result=$mysqli->query($sql);
 if($result->num_rows!=0){
  echo '成功';
 }else{
  echo '错误';
 }
 $mysqli->close();
?>

 

结果图:

初始界面

错误信息填写

错误信息登录后返回的结果

正确填写信息

正确信息返回结果

使用到的工具:记事本(注意代码中的编码问题,将后缀名.txt改为.php或者.html时要记得另存为并选择编码为utf-8),XMAPP(集成mysql和apache,欧鹏浏览器)

 

转载于:https://www.cnblogs.com/MrZWJ/p/10279019.html

  • 14
    点赞
  • 136
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这里给您提供一个简单的示例代码,帮助您实现基本的注册和登录功能,使用 Python Flask 框架和 MySQL 数据库: 1. 安装所需的 Python 库 ``` pip install Flask flask-mysqldb ``` 2. 创建一个名为 `app.py` 的文件,并在其添加以下代码: ```python from flask import Flask, render_template, request, redirect, session from flask_mysqldb import MySQL import bcrypt app = Flask(__name__) # 设置 session 密钥 app.secret_key = 'secret_key' # MySQL 配置 app.config['MYSQL_HOST'] = 'localhost' app.config['MYSQL_USER'] = 'root' app.config['MYSQL_PASSWORD'] = 'password' app.config['MYSQL_DB'] = 'users' mysql = MySQL(app) # 用户注册 @app.route('/register', methods=['GET', 'POST']) def register(): if request.method == 'POST': name = request.form['name'] email = request.form['email'] password = request.form['password'].encode('utf-8') hashed_password = bcrypt.hashpw(password, bcrypt.gensalt()) # 插入用户信息到数据库 cur = mysql.connection.cursor() cur.execute("INSERT INTO users(name, email, password) VALUES (%s, %s, %s)", (name, email, hashed_password)) mysql.connection.commit() cur.close() session['name'] = name session['email'] = email return redirect('/') return render_template('register.html') # 用户登录 @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': email = request.form['email'] password = request.form['password'].encode('utf-8') # 从数据库获取用户信息 cur = mysql.connection.cursor() cur.execute("SELECT * FROM users WHERE email = %s", [email]) user = cur.fetchone() cur.close() # 验证密码是否正确 if user and bcrypt.checkpw(password, user[3].encode('utf-8')): session['name'] = user[1] session['email'] = user[2] return redirect('/') else: return render_template('login.html', error='Invalid email or password') return render_template('login.html') # 用户注销 @app.route('/logout') def logout(): session.clear() return redirect('/') # 首页 @app.route('/') def index(): if 'name' in session: return render_template('index.html', name=session['name'], email=session['email']) else: return redirect('/login') if __name__ == '__main__': app.run(debug=True) ``` 3. 在项目根目录下创建一个名为 `templates` 的文件夹,并在其创建以下三个 HTML 模板文件: - `register.html`,用于用户注册页面 ```html <!DOCTYPE html> <html> <head> <title>Register</title> </head> <body> <h2>Register</h2> <form method="POST" action="/register"> <input type="text" name="name" placeholder="Name"><br><br> <input type="email" name="email" placeholder="Email"><br><br> <input type="password" name="password" placeholder="Password"><br><br> <input type="submit" value="Register"> </form> </body> </html> ``` - `login.html`,用于用户登录页面 ```html <!DOCTYPE html> <html> <head> <title>Login</title> </head> <body> <h2>Login</h2> {% if error %} <p style="color: red;">{{ error }}</p> {% endif %} <form method="POST" action="/login"> <input type="email" name="email" placeholder="Email"><br><br> <input type="password" name="password" placeholder="Password"><br><br> <input type="submit" value="Login"> </form> </body> </html> ``` - `index.html`,用于用户登录后的首页 ```html <!DOCTYPE html> <html> <head> <title>Homepage</title> </head> <body> <h2>Welcome, {{ name }}!</h2> <p>Your email is: {{ email }}</p> <a href="/logout">Logout</a> </body> </html> ``` 4. 在 MySQL 数据库创建一个名为 `users` 的表,用于存储用户信息: ```sql CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` 现在您可以运行 `app.py`,在浏览器访问 `http://localhost:5000/register` 进行用户注册,访问 `http://localhost:5000/login` 进行用户登录访问 `http://localhost:5000/logout` 进行用户注销。登录后访问 `http://localhost:5000/` 可以看到用户的个人主页。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值