HTML网上商城项目(sqlite3)

发布于:2025-03-14 ⋅ 阅读:(17) ⋅ 点赞:(0)

一.功能

二.sqlite3函数

【1】sqlite3_exec

   int sqlite3_exec(
        sqlite3* db,               // 数据库连接句柄
        const char* sql,           // 要执行的 SQL 语句
        int (*callback)(void*, int, char**, char**), // 回调函数
        void* arg,                 // 回调函数的参数
        char** err_msg             // 错误信息
);

参数说明

  1. db:指向 SQLite 数据库连接的指针。

  2. sql:要执行的 SQL 语句。

  3. callback:回调函数的指针。如果为 NULL,则不会处理查询结果。

  4. arg:传递给回调函数的用户自定义参数。

  5. err_msg:如果执行失败,会返回错误信息。

【2】回调函数原型

int callback(void* arg, int argc, char** argv, char** azColName);

  • arg:从 sqlite3_exec 传入的用户自定义参数。

  • argc:查询结果的列数。

  • argv:查询结果的每一列的值。

  • azColName:查询结果的每一列的列名。

回调函数的作用

回调函数会在每次从查询结果中获取一行数据时被调用。如果回调函数返回非零值,sqlite3_exec 会停止执行,并返回错误。

注:每访问一行都会打印

三 . HTML文件(菜鸟教程有详细介绍)

【1】结构说明
  • <!DOCTYPE html>:声明文档类型,告诉浏览器这是一个 HTML5 文档。

  • <html>:根元素,包含整个 HTML 文档的内容。

  • <head>:头部区域,包含元数据(如字符集、视口设置、标题、样式表链接等)。

  • <body>:主体区域,包含用户可以看到的所有内容(如文本、图片、链接等)。

【2】HTML 文件的常见元素

HTML 文件由各种标记(Tags)组成,每个标记都有特定的语义和用途。以下是一些常见的 HTML 元素:

(1)文本内容
  • <h1><h6>:标题,从一级标题到六级标题。

  • <p>:段落。

  • <strong><em>:加粗和强调文本。

  • <br>:换行。

  • <hr>:水平分隔线。

(2)链接和图片
  • <a>:超链接,用于链接到其他页面或资源。

  • <img>:插入图片。

(3)列表
  • <ul><li>:无序列表。

  • <ol><li>:有序列表。

  • <dl><dt><dd>:定义列表。

(4)表格
  • <table>:表格。

  • <tr>:表格行。

  • <th>:表头单元格。

  • <td>:表格单元格。

(5)表单
  • <form>:表单容器。

  • <input>:输入框(如文本框、按钮、复选框等)。

  • <label>:表单标签。

  • <textarea>:多行文本框。

  • <select><option>:下拉菜单。

(6)语义化标签
  • <header>:页眉。

  • <nav>:导航栏。

  • <main>:主要内容。

  • <section>:独立的章节。

  • <article>:独立的文章。

  • <aside>:侧边栏。

  • <footer>:页脚。

(7)超链接

(菜鸟教程)

四.源代码

(1)代码流程梳理

【 项目 】

  在线商城项目要求:

1.用户可在Web浏览器中输入IP+PORT访问服务器主页

2.用户可在主页完成用户注册,用户注销及登录功能

3.用户登录后,可在登录后页面中输入搜索商品,并获得包含

  搜索关键字的所有商品信息(以列表显示) //排版布局 

4.用户可以通过点击商品信息查看商品详细信息(价格、折扣价格、

  剩余数量等信息)  //动态生成网页   

5.该界面共分为4级

1.一级登录界面

2.二级搜索界面/注册界面/注销界面

3.三级商品列表界面

4.四级商品详细信息界面

(2)基础命令(用于向服务器发送跳转请求)

【1】创建服务器

注:accept写在主函数的while(1)中可以支持多个客户端连接,且可以处理同一个服务器的多次命令

【2】请求头函数

服务器访问客户端会发送请求的报文,格式如

从管道读取会获得客户端的请求,通过解析请求可以了解到客户端的要求,从而进行相应的动作

【3】请求报文函数(向服务器发送)

将头身子结合起来组成完整的请求报文,这个时候向服务器传入服务器请求的HTML网页,和需要显示的内容(图片,网页·)

将请求报文写入管道,用于主函数读取

(3)主函数

【1】buf

读取buf发来的请求报文

【2】url

用来解析命令,获取需要访问的文件

【3】主函数逻辑

1.客户端接入时url(通过客户端发送来的请求报文)为“\”,此时发送index.html文件名给客户端,客户端会打开此登录界面

2.index.html有登录,注册,注销的超链接,可以点击,此时客户端会发送对应的请求报文,主函数会接受到,进行对应的操作

3.注册和注销后都会返回对应的请求,从新返回登录界面

3.登录后跳转search界面,输入要搜索的商品,此时会遍历数据库,生成动态的HTML文件(包含超链接,可以跳转至详情页),打印所有商品

(4)注册函数

【1】通过index的注册超链接,跳转入register.html

【2】输入账号密码会通过请求报文发送

【3】通过extract——parameters解析出来,获得账号密码,分别存入数据库里

(5)注销函数(逻辑与注册函数相同)

(6)登录函数

遍历数据库,看是否有存入的账号密码,有跳转search.html,没有跳转success.fail界面

(7)用户关键词生成动态HTML

用来解码用户输入,将请求报文转化成中文

回调函数生成对应的html文件

(8)商品详情页(同上)


网站公告

今日签到

点亮在社区的每一天
去签到