php基础系列:从用户登录处理程序学习mysql扩展基本操作

用户注册和登录是网站开发最基本的功能模块之一,现在通过登录处理程序代码来学些下php对mysql的基本操作。
本身没有难点,主要是作为开发人员,应该能做到手写这些基本代码,算是自己加强记忆,同时希望能给初学者一些参考借鉴。
php连接MySQL数据库服务器的时候,有三种主要的API可供选择:
PHP的MySQL扩展
PHP的mysqli扩展
PHP数据对象(PDO) 

<?php

//接收用户登录窗口输入数据
$username = $_POST['username'];
$password = $_POST['password'];

//连接数据库
$conn = mysql_connect('dbip','dbuser','dbpassword');
if(!$conn){
dir('连接失败'.mysql_errno());
}
//设置访问库编码方式
mysql_query("set names utf8",$conn) or dir(设置编码失败'.mysql_errno());
//选择数据库
mysql_select_db("dbname",$conn) or dir('选择数据库失败'.mysql_errno());

//发送sql语句,注意预防sql注入
$sql = "select  password,nickname from tb_user where username='$username'";
$res = mysql_query($sql,$conn);

//如果有数据
if($row = mysql_fetch_assoc($res)){
//判断密码
if($password == md5($row['password'])){
//合法用户

$nickname = $row['nickname'];
header("Location:success.php?nickname=$nickname");
exit();


}

//用户或者密码错误
//现在的网站不再具体提示用户是用户名错还是密码错,避免黑客有针对性破解密码
header("Location:failed.php");
exit();

//还需考虑关闭资源和连接,注意安排代码位置
//mysql_free_result($res);
//mysql_close($conn);

?>

其它知识:
如果是列表页,显示多条记录

if($row = mysql_fetch_assoc($res))相应修改为 while($row = mysql_fetch_assoc($res))  。




 

转载于:https://www.cnblogs.com/suncoolcat/p/3424064.html

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

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

相关文章

SSIS package 更新 variable

在Package中声明一个variable&#xff0c;在package运行的过程中&#xff0c;SSIS如何update Variable&#xff1f; 第一种方法&#xff1a;使用 Script Task 来更新Variable的值 1&#xff0c;创建一个variable &#xff0c;VariableName是VarCode&#xff0c;并将变量传递到脚…

socket第三方库 AsyncSocket(GCDAsyncSocket)

为什么80%的码农都做不了架构师&#xff1f;>>> Socket描述了一个IP、端口对。它简化了程序员的操作&#xff0c;知道对方的IP以及PORT就可以给对方发送消息&#xff0c;再由服务器端来处理发送的这些消息。所以&#xff0c;Socket一定包含了通信的双发&#xff0c…

想给男友一个惊喜,没想到是这样的结局......

1 想给男友一个惊喜&#xff08;via.澎湃新闻&#xff09;▼2 花10w买了副画&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 台北温馨一幕▼4 把土豆切成丁&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼5 你为何如此自信&#xff1f;&#xff08;素材…

NS 802.11函数分析(一)

recv函数有两个作用&#xff0c;不仅是接收其他节点发送的包&#xff0c;而且当节点接收到其他包的时候也会调用recv&#xff08;&#xff09; 首先给出NS2中recv的源码&#xff0c;和一些注释&#xff1a; 1 void2 Mac802_11::recv(Packet *p, Handler *h)3 {4 struct hdr…

Android之怎么隐藏EditText光标和自动显示键盘

不废话,先爆照 让EditText不现实光标 关键代码: android:focusable="true" android:focusableInTouchMode="true" 写这个父视图里面 下面是全部代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"…

0408~送给小伙伴的汉堡包

经过一番的结对编程&#xff0c;同学院们对Ta有什么想法呢&#xff1f; 用汉堡包的方式评价一下自己的合作伙伴。 开始囉~~~~~~~~ 第一片面包&#xff1a;解决问题的能力还是蛮强的&#xff0c;在编程的过程中精力集中&#xff0c;遇到不懂的问题积极查找相关资料&#xff0c;而…

基于事件驱动架构构建微服务第14部分:查询API

原文链接&#xff1a;https://logcorner.com/building-micro-services-through-event-driven-architecture-part14-query-api/在本教程中&#xff0c;我将展示如何构建一个查询API&#xff0c;使用命令查询职责分离(CQRS)模式在微服务架构中实现查询。读取模型的目标是构建一个…

Win32窗体实现接受拖拽文件,检测鼠标拖拽操作,检测鼠标滚轮操作

使窗体能够接受文件拖拽 DragAcceptFiles(hwnd, TRUE);文件拖拽在win32窗体过程函数中对WM_DROPFILES消息进行处理 LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {switch (uMsg){case WM_DESTROY:PostQuitMessage(0);return 0;case WM_D…

python序列元素的编号称为_Python序列

序列是一块用于存放多个值的连续内存空间,并且按照一定顺序排列,没一个值(称为元素)都分配一个数字,称为索引或位置.通过该索引可以去除相应的值在Python中,序列结构主要有列表 元组 集合 字典和字符串,对于这些序列结构有以下几个通用的操作.其中,集合和字典不支持索引 切片 相…

​“北斗女神”徐颖,32岁成为中科院最年轻的博导!

全世界只有3.14 % 的人关注了爆炸吧知识来源&#xff1a;学术志被誉为“北斗女神”的徐颖研究员在32岁就成为了中科院最年轻的博士生导师&#xff0c;真是羡煞旁人。一分耕耘一分收获&#xff0c;我们要向为国家做出巨大贡献的科学家学习。徐颖、颜值、气质、才华、幽默集于一身…

通过jQuery源码学习javascript(三)

序承接上两篇继续写下去。我尽量把我明白的地方给大家说清楚。有些大家的提问我也有点搞不明白&#xff0c;如果有人能解答&#xff0c;再好不过了。疑问第一篇中有位博友提出了以下的问题&#xff0c;我也不太明白&#xff0c;如果有明白的&#xff0c;能否告知一、二。var st…

mysql复习

mysql复习 一:复习前的准备 1:确认你已安装wamp 2:确认你已安装ecshop,并且ecshop的数据库名为shop二 基础知识: 1.数据库的连接 mysql -u -p -h -u 用户名 -p 密码 -h host主机2:库级知识 2.1 显示数据库: show databases; 2.2 选择数据库: use dbname; 2.3 创建数据库: creat…

链表之单链表的反转总结

单链表的反转是常见的面试题目。本文总结了2种方法。 1 定义 单链表node的数据结构定义如下&#xff1a; class ListNode {int val;ListNode next;ListNode(int x) {val x;next null;} }2 方法1&#xff1a;就地反转法 2.1 思路 把当前链表的下一个节点pCur插入到头结点dummy…

封神!Win11内置杀软被评为免费最佳

微软 Windows Defender 预装在 Windows 10 和 Windows 11 操作系统上。根据最新报告显示&#xff1a;Windows Defender 是 2021 年最好的防病毒软件&#xff08;杀毒软件&#xff09;之一。近日&#xff0c;位于德国的 IT 安全研究机构 AV-TEST 发布了针对 Windows 10 操作系统…

剑指OFFER的跳台阶问题

一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 &#xff08;斐波那契数列的变形&#xff09; F(1)1;F(2)2; F(n)F(n-1)F(n-2); class Solution { public:int jumpFloor(int number) {if(number<0) return 0;if(numbe…

Mysql修改字段名和长度_mysql中修改表字段名/字段长度/字段类型详解

先来看看常用的方法MySql的简单语法&#xff0c;常用&#xff0c;却不容易记住。当然&#xff0c;这些Sql语法在各数据库中基本通用。下面列出&#xff1a;1.增加一个字段&#xff1a;alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段&#xff0c;默…

redis协议

为什么80%的码农都做不了架构师&#xff1f;>>> 利用gdb调试redis-server 在客户端redsi-cli&#xff0c;输入 gdb在下面函数处打入断点&#xff1a; 执行read函数后&#xff0c;查看buf中的内容&#xff0c;如下&#xff1a; 可见&#xff0c;客户端发送的指令&am…

佛门重地,不适合搞这种事!!

1 快教教我&#xff01;▼2 佛门重地&#xff0c;不适合搞这种事&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 来自中国的圣诞老人&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 有被内涵到&#xff0c;谢谢▼5 江山代有才人出&#xff08;素材来…

Git之如何解决sourceTree已经pull全部下来但是本地没有更新的问题

今天用sourceTree好奇怪&#xff0c;我pull下来了同事的代码&#xff0c;但是本地项目没有&#xff0c;如下图 日志上面是显示已提交了同事的代码。 然后下面是本地的UserDao.java文件 死活也找不到 解决方法&#xff1a; 我先是从git 上面clone一份代码下来&#xff0c; 发现这…

WPF关键帧动画

动画与关键帧的区别本章介绍关键帧动画之前, 首先需要讲解一下关于WPF当中基础动画与本章所讲的关键帧动画的区别。视频地址: WPF扩展合集_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili普通动画WPF基础动画当中, 我们熟悉的From/To/By驱动的动画, 主要在两个值之间创建过渡效果, 如下图…