当前位置: 首页 > news >正文

公司做的网站账务处理5118站长工具

公司做的网站账务处理,5118站长工具,百度网站的目标,网站加背景音乐12 注册登录 整体概述 使用数据库连接池实现服务器访问数据库的功能,使用POST请求完成注册和登录的校验工作。 本文内容 介绍同步实现注册登录功能,具体涉及到流程图、载入数据库表、提取用户名和密码、注册登录流程与页面跳转的代码实现。 流程图&a…

12 注册登录

整体概述

使用数据库连接池实现服务器访问数据库的功能,使用POST请求完成注册和登录的校验工作。

本文内容

介绍同步实现注册登录功能,具体涉及到流程图、载入数据库表、提取用户名和密码、注册登录流程与页面跳转的代码实现。
流程图,描述服务器从报文中提取出用户名密码,并完成注册和登录校验后,实现页面跳转的逻辑。
载入数据库表,结合代码将数据库中的数据载入服务器中。
提取用户名和密码,结合代码对报文进行解析,提取用户名和密码。
注册登录流程,结合代码对描述服务器进行注册和登录校验流程。
页面跳转,结合代码对页面跳转机制进行详解。

流程图

描述GET和POST请求下的页面跳转流程。
在这里插入图片描述

载入数据库表

将数据库中的用户名和密码载入到服务器的map中来,map中的key为用户名,value为密码。

//用户名和密码
map<string,string> users;void http_conn::initmysql_result(connection_pool *connPool)
{//先从连接池中取一个连接MYSQL *mysql=NULL;connectionRAII mysqlcon(&mysql,connPool);//在user表中检索username,passwd数据,浏览器端输入if(mysql_query(mysql,"SELECT username,passwd FROM user")){LOG_ERROR("SELECT error:%s\n",mysql_error(mysql));}//从表中检索完整的结果集MYSQL_RES *result=mysql_store_result(mysql);//返回结果集中的列数int num_fields=mysql_num_fields(result);//返回所有字段结构的数组MYSQL_FIELD *fields=mysql_fetch_fields(result);//从结果集中获取下一行,将对应的用户名和密码,存入map中while(MYSQL_ROW row=mysql_fetch_row(result)){string temp1(row[0]);string temp2(row[1]);users[temp1]=temp2;}
}

提取用户名和密码

服务器端解析浏览器的请求报文,当解析为POST请求时,cgi标志位设置为1,并将请求报文的消息体赋值给m_string,进而提取出用户名和密码。

//判断http请求是否被完整读入
http_conn::HTTP_CODE http_conn::parse_content(char *text)
{if(m_read_idx>=(m_content_length+m_checked_idx)){text[m_content_length]='\0';//POST请求中最后为输入的用户名和密码m_string=text;return GET_REQUEST;}return NO_REQUEST;
}//根据标志判断是登录检测还是注册检测
char flag=m_url[1];char *m_url_real=(char *)malloc(sizeof(char)*200);
strcpy(m_url_real,"/");
strcat(m_url_real,m_url+2);
strncpy(m_real_file+len,m_url_real,FILENAME_LEN-len-1);
free(m_url_real);//将用户名和密码提取出来
char name[100],password[100];
int i;//以&为分隔符,前面的为用户名
for(i=5;m_string[i]!='&';++i)name[i-5]=m_string[i];
name[i-5]='\0';//以&为分割符,后面的是密码
int j=0;
for(i=i+10;m_string[i]!='\0';++i,++j)password[j]=m_string[i];
password[j]='\0';

同步线程登录注册

通过m_url定位/所在位置,根据/后的第一个字符,使用分支语句实现页面跳转。具体的,

  • 0:跳转注册页面,GET
  • 1,跳转登录页面,GET
  • 5,显示图片页面,POST
  • 6,显示视频页面,POST
  • 7,显示关注页面,POST
//找到url中/所在的位置,进而判断/后第一个字符
const char *p=strrchr(m_url,'/');//注册页面
if(*(p+1)=='0')
{char *m_url_real=(char *)malloc(sizeof(char)*200);strcpy(m_url_real,"/register.html");strncpy(m_real_file+len,m_url_real,strlen(m_url_real));free(m_url_real);
}//登录页面
else if(*(p+1)=='1')
{char *m_url_real=(char *)malloc(sizeof(char)*200);strcpy(m_url_real,"/log.html");strncpy(m_real_file+len,m_url_real,strlen(m_url_real));free(m_url_real);
}//图片页面
else if(*(p+1)=='5')
{char *m_url_real=(char *)malloc(sizeof(char)*200);strcpy(m_url_real,"/picture.html");strncpy(m_real_file+len,m_url_real,strlen(m_url_real));free(m_url_real);
}//视频页面
else if(*(p+1)=='6')
{char *m_url_real=(char *)malloc(sizeof(char)*200);strcpy(m_url_real,"/video.html");strncpy(m_real_file+len,m_url_real,strlen(m_url_real));free(m_url_real);
}//关注页面
else if(*(p+1)=='7')
{char *m_url_real=(char *)malloc(sizeof(char)*200);strcpy(m_url_real,"/fans.html");strncpy(m_real_file+len,m_url_real,strlen(m_url_real));free(m_url_real);
}//否则发送url实际请求的文件
else strncpy(m_real_file+len,m_url,FILENAME_LEN-len-1);
http://www.hkea.cn/news/452433/

相关文章:

  • 网站后台怎么添加图片视频app推广
  • 网站秒收录怎么做的经典软文案例和扶贫农产品软文
  • 珠海疫情最新情况厦门搜索引擎优化
  • 中国菲律宾历史战绩网站关键词优化工具
  • 西宁网站建设最好的公司哪家好优秀网站设计案例
  • 沧州做网站费用搜索引擎优化是做什么的
  • 社区网站推广方案线上运营的5个步骤
  • 湘潭学校网站建设 z磐石网络网站关键词优化教程
  • wordpress多程序用户同步汕头seo排名
  • 旅游网站 建设平台分析百度seo一本通
  • 怎么用dw做网站app开发网站
  • 昆山做网站的公司有哪些seo整站优化推广
  • 网站建设谈单情景对话青岛seo百科
  • 网站做自适应好不好网页分析报告案例
  • 大连手机自适应网站建设公司seo诊断站长
  • 有哪些好的网站十大电商代运营公司
  • 个人网页设计欣赏网站整站优化快速排名
  • 多少钱立案seo 公司
  • 医学类的网站做Google百度怎么优化排名
  • 手机网站怎样做枸橼酸西地那非片的功效与作用
  • 邯郸做wap网站的公司六六seo基础运营第三讲
  • 六安市建设银行网站seo编辑的工作内容
  • seo外包平台福州百度快照优化
  • 橙子建站广告怎么投放竞价网络推广
  • 中国公司查询网站网络公司起名
  • wordpress邮箱内容更改一键关键词优化
  • 楼市最新消息2022年房价走势seo网络推广经理
  • wordpress免费中文企业主题seo权重优化软件
  • 周口网站建设哪家好济南专业seo推广公司
  • 济南网站忧化怎么把抖音关键词做上去