php的mysql操作可实现简单登录功能

news2024/11/15 2:04:22

文章目录

  • 1. 表单和请求
    • (1) 表单操作
    • (2) 网络请求
    • (3) $_REQUEST超全局变量
  • 2. mysql数据库操作
    • 1) mysqli连接操作
    • 2) 操作数据库
    • 3) 预处理语句
    • 4) pdo操作数据库
    • 5) 创建连接并执行查询语句

1. 表单和请求

主要使用到**$_GET** 和 $_POST这两个超全局变量,分别对应两种请求

(1) 表单操作

<form action="use.php" method="get">
    账号: <input type="text" name="username" required><br>
    密码: <input type="password" name="password" required><br>
    性别: <input type="radio" name="sex" value="1" required><input type="radio" name="sex" value="2" required><br>
    爱好: <input type="checkbox" name="hobby[]" value="1">篮球 <input type="checkbox" name="hobby[]" value="2">足球 <input type="checkbox" name="hobby[]" value="3">羽毛球<br>
    地址: <input type="text" name="address" required><br>
    <input type="submit" value="登录">
</form>

(2) 网络请求

get和post请求时常用的两种HTTP请求方法,用于客户端从服务端发送和请求数据
get请求: 通过url网址的参数的形式将数据附加在url上发送给服务器,参数会出现在url的末尾,使用?将url和参数分隔开
post请求: 将数据作为请求的主体发送给服务器,而不是附加在url上,这使得post请求更适合发送铭感的数据和超长的数据

<?php
          var_dump($_GET);		// 通过$_GET获取get请求的参数
          echo "<br>";			//  可以根据表单获取的信息实现简单登录功能
          var_dump($_POST);		// 通过$_POST获取post请求的参数
          ?>

(3) $_REQUEST超全局变量

$_REQUEST变量包含了get和post和cookie的内容
$_server获取请求方式
**htmlspecialchars()**函数: 用于将字符串中的特殊字符转换为HTML实体,以避免子啊HTML文档中引起解析错误或安全漏洞

2. mysql数据库操作

mysqli和PDO操作数据库

1) mysqli连接操作

扩展mysqli: 配置php.ini文件 ,打开一下两个配置
在这里插入图片描述
在这里插入图片描述
配置phpstorm:
在这里插入图片描述
编写代码测试:

// 面向对象连接
<?php
$mysqli = new mysqli("localhost", "root", "xjy1234", "test");
if ($mysqli->connect_errno) {
    echo "连接失败: " . $mysqli->connect_error;
}
echo "连接成功";
$mysqli->close();
?>

// 面向过程连接
<?php
$localMysql = mysqli_connect("localhost", "root", "xjy1234", "test");
if (!$localMysql){
    echo "连接失败".mysqli_connect_error();
}
echo "连接成功";
// 关闭连接
mysqli_close($localMysql);
?>

2) 操作数据库

查询数据表

<?php
$mysqli = new mysqli("localhost", "root", "xjy1234", "test");
if ($mysqli->connect_errno) {
    echo "连接失败: " . $mysqli->connect_error;
}
$test = $mysqli->query("select * from user"); // 该query可以执行sql语句例如: 创建数据库表,数据的增删查改
print_r($test->fetch_all());
$mysqli->close();
?>

3) 预处理语句

解决sql注入

// 使用?作为占位符
$sql = "select * from user where username=? and password = ?";
$stmt = $conn->prepare($sql)
// s表示字符串,i表示整型,d表示double形,b表示二进制
$stmt = bind_param("ss",$username,$password)
$stmt = execute();		// 执行
// 获取返回结果
$result = $stmt->get_result()

$stmt->close()

4) pdo操作数据库

开启pdo
在这里插入图片描述

// 查看是否有
phpinfo();

在这里插入图片描述

5) 创建连接并执行查询语句

<?php
try {
    $PDO = new PDO("mysql:host=localhost;dbname=test", "root", "xjy1234");
    $PDO->setAttribute($PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
}catch (Exception $e){
    echo "sql连接错误".$e;
}
// 新增删除修改使用exec
$result = $PDO->query("select * from user");
print_r($result->fetchAll());
?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1974233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【2024蓝桥杯/C++/B组/小球反弹】

题目 分析 Sx 2 * k1 * x; Sy 2 * k2 * y; &#xff08;其中k1, k2为整数&#xff09; Vx * t Sx; Vy * t Sy; k1 / k2 (15 * y) / (17 * x)&#xff1b; 目标1&#xff1a;根据k1与k2的关系&#xff0c;找出一组最小整数组&#xff08;k1, k2&#xff09;&#xff…

北京崇文门中医院贾英才主任解读头晕:症状与根源

头晕是一种常见的症状&#xff0c;可能由多种原因引起。为了更深入地了解头晕这一症状&#xff0c;我们有幸邀请到了北京崇文门中医院的贾英才主任&#xff0c;听听他对于头晕的见解。 北京崇文门中医院贾英才主任指出&#xff0c;头晕并非一种单一的疾病&#xff0c;而是许多潜…

鉴权-RBAC模型

文章目录 1.技术选型1.网址2.Sa-Token介绍3.[Sa-Token 功能一览](https://sa-token.cc/doc.html#/?idsa-token-功能一览) 2.鉴权数据模型设计1.数据模型图2.SQL1.用户信息表2.角色表3.用户角色表&#xff08;关联表&#xff09;4.权限表5.角色权限表&#xff08;关联表&#x…

1518.换水问题

1.题目描述 超市正在促销&#xff0c;你可以用 numExchange 个空水瓶从超市兑换一瓶水。最开始&#xff0c;你一共购入了 numBottles 瓶水。 如果喝掉了水瓶中的水&#xff0c;那么水瓶就会变成空的。 给你两个整数 numBottles 和 numExchange &#xff0c;返回你 最多 可以喝到…

辩论赛评委依据什么标准进行评分呢

在辩论赛中&#xff0c;评委依据什么标准进行对参赛个人和团队进行评分呢&#xff1f;下面对这两部分介绍一些常用评分标准。 一、 个人评分标准 语言表达 1、普通话标准、语速适中&#xff1b; 2、语调平仄合理&#xff1b; 3、口头、肢体语言和谐&#xff1b; 4、修辞得当、…

C基础项目(学生成绩管理系统)

目录 一、项目要求 二、完整代码实例 三、分文件编写代码实例 一、项目要求 1.系统运行&#xff0c;打开如下界面。列出系统帮助菜单&#xff08;即命令菜单&#xff09;&#xff0c;提示输入命令 2.开始时还没有录入成绩&#xff0c;所以输入命令 L 也无法列出成绩。应提…

解决 Vue 页面中地址栏参数变更不刷新的问题

在一次Vue项目开发中&#xff0c;遇到了只改变路由中的参数&#xff0c;路由地址不改变页面数据不刷新的问题。造成这个问题的原因&#xff0c;是因为 vue-router 同一个页面地址栏参数改变&#xff08;比如文章的发布和编辑是同一个页面&#xff09;&#xff0c;不会触发vue的…

cms-wordpress 漏洞

登录后台 一、后台改模板 点击外观&#xff0c;编辑&#xff0c; 找一个php文件&#xff0c;在最开头加入一句话木马&#xff1b; 点击更新&#xff0c;访问模板类路径下的这个文件(不知道默认模板路径可以搜) 使用工具连接 二、上传主题拿shell 点击外观&#xff0c;主题&am…

NeRF学习——基于Pytorch代码复现的笔记

代码复现的框架是基于&#xff1a;pengsida 的 Learning NeRF 源代码框架是基于 Linux 的&#xff0c;我在 Windows 上进行复现有些许 bug&#xff0c;Windows 上 bug 修复的框架版本&#xff1a;Learning NeRF 希望各位可以通过学习 NeRF-Pytorch 的源码来自己复现一下试试看…

Lanproxy开箱即用的内网穿透工服务!!

Lanproxy快速上手配置服务器转发到内网!! 本教程云服务器推荐使用的开发环境如下&#xff1a;服务器端配置配置端口登录Web界面 内网客户端配置下载客户端配置客户端端口 最终效果测试 本文主要记录了使用Lanproxy搭建内网穿透服务的过程&#xff0c;其中包括服务端和客户端的详…

使用redis缓存文章浏览量

效果展示 好处 首先初始化所有浏览量 访问文章后增加的浏览量**不直接修改数据库&#xff0c;先存到redis然后访问也是获取redis的浏览量&#xff0c;做个定时任务&#xff0c;后续自定义时间同步数据库**&#xff0c;好像也就是一个集中处理罢了 CommandLineRunner实现项目…

鸿蒙系统学习指南

&#x1f41f;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢编程&#x1fab4; &#x1f421;&#x1f419;个人主页&#x1f947;&#xff1a;Aic山鱼 &#x1f420;WeChat&#xff1a;z7010cyy &#x1f988;系列专栏&#xff1a;&#x1f3de;️ 前端-JS基础专栏✨前…

8月2日SpringBoot学习笔记

今日内容: AOP 面向切面 代理模式 springmvc 运行原理 拦截器 springmvc异常处理机制 代理模式 为其他对象提供一种代理以控制对这个对象的访问。想在访问一个类时做一些控制是使用。 静态代理 优点&#xff1a;便于理解 缺点&#xff1a; 1.代码冗余&…

Linux 内核源码分析---I/O 体系结构与访问设备

I/O 体系结构 与外设的通信通常称之为输入输出&#xff0c;一般都缩写为I/O。 在实现外设的I/O时&#xff0c;内核必须处理3个可能出现的问题&#xff1a; &#xff08;1&#xff09;必须根据具体的设备类型和模型&#xff0c;使用各种方法对硬件寻址&#xff1b; &#xff08…

java面试题Spring部分(四)

一、什么事spring的三级缓存 典型回答 在Spring的BeanFactory体系中&#xff0c;BeanFactory是Spring IOC容器的基础接口&#xff0c;其DefaultSingletonBeanRegistry类实现了BeanFactory接口&#xff0c;并维护了三级缓存&#xff1a; public class DefaultSingletonBeanRe…

如何在OpenHarmony 4.1R上设置系统默认不锁屏(修改系统锁屏应用)

本文介绍如何修改系统锁屏应用&#xff0c;从而实现在OpenHarmony 4.1R上设置系统默认不锁屏。 环境配置 1.DevEco Studio 4.1 Release&#xff0c;下载链接地址 API10 Full SDK,安装教程 步骤 1.首先下载4.1r分支的系统锁屏应用applications_screenlock 2.修改系统锁屏应…

【Plotly-驯化】一文画出漂亮的流量漏斗图:plotly.funnel函数使用技巧

【Plotly-驯化】一文画出漂亮的流量漏斗图&#xff1a;plotly.funnel函数使用技巧 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 免费获…

HTML+CSS練習---空隙產生記錄

1.第一層和第二層之間的間隙&#xff1a;以為導航欄超過高度朝下擠下來了 2.第2層兩個div中的空隙 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title><style>font-face {f…

ATTCK实战系列-红队评估 (一)Vulnstack三层网络域渗透

目录 一、搭建环境 1.靶场下载地址&#xff1a; 2、网络拓扑 3、环境配置 Win7&#xff08;外网服务器 &#xff09; Win2008&#xff08;域控&#xff09; Win2003&#xff08;域成员&#xff09; 4、启动环境 二、信息收集 1、端口扫描 2、目录扫描 三、漏洞利用…

IM即时通讯客服聊天系统源码(某站售8千)

即时通讯客服聊天系统已经成为企业提供卓越客户服务的不可或缺的工具。为了帮助您快速搭建强大的客服聊天系统&#xff0c;提供了一款全面的源码模板&#xff0c;基于Java和Spring Boot微服务架构构建&#xff0c;支持多种功能模块&#xff0c;以及消息加密、红包、消息撤回等功…