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

企业网站首页网站开发公司模板

企业网站首页,网站开发公司模板,asp.net 制作网站开发,公司网站建设请示报告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.yayakq.cn/news/962081/

相关文章:

  • 化妆品购物网站开发的意义wordpress 启用ssl
  • 做网站网站代理怎么找客源基于django的电子商务网站设计
  • 企业网站群建设的原因用自己头像做的圣诞视频网站
  • wordpress 内容注入优化wordpress搜索结果
  • 网站备案 修改电子商务+网站建设
  • 网站更换主机上海人才网最新招聘信息官方网站
  • 福建省晋江市建设局网站企业网站系统功能分析与设计
  • 做网站要龙之向导外贸网站
  • 湖南网站seo推广网站按钮代码
  • 网站建设结构表电子商务网站商品怎么来
  • 佛山做网站推广的公司dw怎样去除网站做的页面模板
  • 商城网站开发企业网站开发 程序开发原理
  • 电子商务网站的建设ppt商标怎么查询有没有被注册
  • 网站建设 昆山最适合企业网站建设的cms系统
  • 聚美优品一个专注于做特价的网站国美电器如何进行网站的建设与维护
  • 网站建设深圳给原码排名网站
  • 付费推广网站wordpress js漏洞
  • 滨海住房和城乡建设局网站江苏建设教育
  • 提升了自己的网站wordpress filter
  • 公司网站建设价格多少宝安新闻最新消息今天
  • php网站开发工程网站空间和主机
  • 给公司做门户网站多少钱大连网站建设选高和科技
  • 公司网站设计图计算机网页设计是属于哪一个专业
  • 湖北企业网站建设可做免费推广产品的网站有哪些
  • 四川建设厅网站招聘湖南平台网站建设设计
  • 有什么好用的模拟建站软件重庆公共资源交易中心官网
  • 定制摄影app和摄影网站的区别如何在linux服务器上架设网站
  • 工体网站建设公司佛山行业网站设计
  • 找代做海报的网站网站建设项目验收单
  • 网站建设官方网站网站建设+开源