C实现html页面的跳转
2010-08-05 15:53
351 查看
初次学习写CGI,而且是初次使用比较少见的CCGI方式,最终解决了如下问题:
1.C实现sqlite3数据库的操作,含数据库的建立、打开、插入、查询、删除、更新、关闭等操作;
2。实现了我觉得十分重要的使用C来实现CGI页面的跳转,其实就是一句话:如下
printf("<script>window.location.href='/login_err.html';</script>");//实现页面的自动跳转
附1:c实现的数据库操作代码
//此代码是实现数据库的操作:新建/打开、插入、删除、查询等操作
#include<stdio.h>
#include<sqlite3.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char *name="lxf",*psw="lxf";
int id=1;
sqlite3 *db=NULL;
char *zErrMsg=0;
char *sql;
int rc;
int nRow,nColum;
char **selResult;
int i,j,k;
char *callbackData="Callback function called";
int selectId=1;
rc=sqlite3_open("my.db",&db);
if(rc)
{
fprintf(stderr,"Can't open database:%s",sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
else
{
printf("You have open a sqlite database named myfirst.db successfully!/n");
}
//定义插入数据的sql语句
sql="INSERT INTO T_User VALUES(1,'lxf','lxf','0')";
//执行sql语句
rc=sqlite3_exec(db,sql,NULL,NULL,&zErrMsg);
if(rc!=SQLITE_OK)
{
if(zErrMsg!=NULL)
{
fprintf(stderr,"SQL error:%s/n",zErrMsg);
sqlite3_free(zErrMsg);
}
}
else
{
printf("Insert OK...");
}
//查询数据
sprintf(sql,"select * from T_User where P_UserID='%d'",id);
rc=sqlite3_get_table(db,sql,&selResult,&nRow,&nColum,&zErrMsg);
if(SQLITE_OK==rc)
{
if(nRow!=0)
{
for(i=0;i<nRow+1;i++)
{
for(j=0;j<nColum;j++)
{
fprintf(stdout,"%s/t",selResult[(i)*nColum+j]);
}
printf("/n");
}
}
else
{
printf("No data.../n");
}
}
else
{
printf("select error.../n");
}
//释放selResult存储空间
sqlite3_free_table(selResult);
//删除数据delete
sql="delete from T_User where P_UserID=1";
rc=sqlite3_exec(db,sql,NULL,NULL,&zErrMsg);
if(SQLITE_OK==rc)
{
printf("Delete OK.../n");
}
else
{
printf("delete error.../n");
}
//再次查看
sql="select * from T_User;";
rc=sqlite3_get_table(db,sql,&selResult,&nRow,&nColum,&zErrMsg);
if(SQLITE_OK==rc)
{
for(i=0;i<nRow+1;i++)
{
for(j=0;j<nColum;j++)
{
fprintf(stdout,"%s/t",selResult[(i)*nColum+j]);
}
printf("/n");
}
}
else
{
printf("select error.../n");
}
//释放selResult存储空间
sqlite3_free_table(selResult);
sqlite3_close(db);
exit(0);
}
1.C实现sqlite3数据库的操作,含数据库的建立、打开、插入、查询、删除、更新、关闭等操作;
2。实现了我觉得十分重要的使用C来实现CGI页面的跳转,其实就是一句话:如下
printf("<script>window.location.href='/login_err.html';</script>");//实现页面的自动跳转
附1:c实现的数据库操作代码
//此代码是实现数据库的操作:新建/打开、插入、删除、查询等操作
#include<stdio.h>
#include<sqlite3.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char *name="lxf",*psw="lxf";
int id=1;
sqlite3 *db=NULL;
char *zErrMsg=0;
char *sql;
int rc;
int nRow,nColum;
char **selResult;
int i,j,k;
char *callbackData="Callback function called";
int selectId=1;
rc=sqlite3_open("my.db",&db);
if(rc)
{
fprintf(stderr,"Can't open database:%s",sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
else
{
printf("You have open a sqlite database named myfirst.db successfully!/n");
}
//定义插入数据的sql语句
sql="INSERT INTO T_User VALUES(1,'lxf','lxf','0')";
//执行sql语句
rc=sqlite3_exec(db,sql,NULL,NULL,&zErrMsg);
if(rc!=SQLITE_OK)
{
if(zErrMsg!=NULL)
{
fprintf(stderr,"SQL error:%s/n",zErrMsg);
sqlite3_free(zErrMsg);
}
}
else
{
printf("Insert OK...");
}
//查询数据
sprintf(sql,"select * from T_User where P_UserID='%d'",id);
rc=sqlite3_get_table(db,sql,&selResult,&nRow,&nColum,&zErrMsg);
if(SQLITE_OK==rc)
{
if(nRow!=0)
{
for(i=0;i<nRow+1;i++)
{
for(j=0;j<nColum;j++)
{
fprintf(stdout,"%s/t",selResult[(i)*nColum+j]);
}
printf("/n");
}
}
else
{
printf("No data.../n");
}
}
else
{
printf("select error.../n");
}
//释放selResult存储空间
sqlite3_free_table(selResult);
//删除数据delete
sql="delete from T_User where P_UserID=1";
rc=sqlite3_exec(db,sql,NULL,NULL,&zErrMsg);
if(SQLITE_OK==rc)
{
printf("Delete OK.../n");
}
else
{
printf("delete error.../n");
}
//再次查看
sql="select * from T_User;";
rc=sqlite3_get_table(db,sql,&selResult,&nRow,&nColum,&zErrMsg);
if(SQLITE_OK==rc)
{
for(i=0;i<nRow+1;i++)
{
for(j=0;j<nColum;j++)
{
fprintf(stdout,"%s/t",selResult[(i)*nColum+j]);
}
printf("/n");
}
}
else
{
printf("select error.../n");
}
//释放selResult存储空间
sqlite3_free_table(selResult);
sqlite3_close(db);
exit(0);
}
相关文章推荐
- html中提交表单并实现不跳转页面处理返回值
- HTML页面自动跳转的五种实现方法
- 用HTML/JS/PHP方式实现页面延时跳转
- html中提交表单并实现不跳转页面处理返回值
- HTML页面自动跳转的五种实现方法
- 用HTML/JS/PHP方式实现页面延时跳转的简单实例
- HTML/JSP实现跳转到页面指定位置
- html和js实现页面跳转方法
- jquery 渲染 html() text() val() document.write() 和ajax实现页面跳转
- html实现以秒为单位倒数,跳转新的页面
- HTML页面自动跳转的五种实现方法
- 安卓HTML中打开一个连接!点击跳转了,可以实现返回上一级的HTML的页面!
- HTML页面自动跳转的五种实现方法
- js实现html 页面之间的跳转传参以及返回上一页的相关知识点
- HTML实现页面自动跳转的五种方法
- js实现html 页面之间的跳转传参以及返回上一页的相关知识点
- HTML实现跳转到页面指定位置
- 用HTML/JS/PHP方式实现页面延时跳转的简单实例
- html 页面自动跳转的五种实现方法
- HTML meta refresh实现自动HTML刷新页面和跳转页