login.c

来自「linux下的网站」· C语言 代码 · 共 59 行

C
59
字号
#include <stdio.h>#include <stdlib.h>#include <sqlite3.h>#include "cgi.h"int rscallback(void *p, int argc, char **argv, char **argvv){	puts("<html><head><meta http-equiv='Content-Type' content='text/html;charset=utf-8'></head><body><p>");	printf("%s ", argv[0]);	puts("Login Success!</p>");	puts("</body></html>");	cgi_session_register_var("username", argv[0]);    return 0;} int main(void){	cgi_init();	cgi_process_form();	if(cgi_session_var_exists("username")){			puts("<html><head><meta http-equiv='Content-Type' content='text/html;charset=utf-8'></head><body><p>");			puts("Logined!</p>");			puts("</body></html>");			return 0;	}	char s[1024];	sqlite3 *db;	char *err = 0;	int ret = 0;	int empty = 1;	ret = sqlite3_open("./test.db", &db);	if(ret != SQLITE_OK) {                fputs(sqlite3_errmsg(db), stderr);                fputs("\n", stderr);                exit(1);	}		sprintf(s,"select name from  login where name='%s' and passwd ='%s'",cgi_param("usrname"),cgi_param("pwd"), rscallback, &empty, &err);    ret = sqlite3_exec(db, s, rscallback, &empty, &err);    if(ret != SQLITE_OK) {                fputs(err, stderr);                fputs("\n", stderr);                sqlite3_close(db);                exit(1);           }           if(empty) {                fputs("table employee is empty\n", stderr);                exit(1);           }    sqlite3_close(db);	cgi_end();	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?