使用Qt通过cgi导入文件并显示在页面上并做类似Action功能的跳转

#include <QCoreApplication>
#include <QFile>
#include <QTextStream>
#include <QTextCodec>
#include <cstdio>
#include <stdlib.h>
#include <stdio.h>
void checkfail(){
    QFile loginPage("/home/Login.htm");
    printf("<TITLE>用户登录</TITLE>\n");
    QTextStream in(&loginPage);
    if (!loginPage.open(QIODevice::ReadOnly | QIODevice::Text)){
    }
    in.setCodec(QTextCodec::codecForName("UTF-8"));
    QTextStream out(stdout);
    out.setCodec(QTextCodec::codecForName("UTF-8"));
    while(!in.atEnd()){
        QString line = in.readLine();
        if(line.indexOf("submit") != -1){
            line += "<br><div id=message-wap><font size=2 color=red>Please input effective validate!</font></div>";
        }
        out<<(line);
        out.flush();
    }
}

void dataerror(){
    QFile loginPage("/home/Login.htm");
    printf("<TITLE>用户登录</TITLE>\n");
    QTextStream in(&loginPage);
    if (!loginPage.open(QIODevice::ReadOnly | QIODevice::Text)){
    }
    in.setCodec(QTextCodec::codecForName("UTF-8"));
    QTextStream out(stdout);
    out.setCodec(QTextCodec::codecForName("UTF-8"));
    while(!in.atEnd()){
        QString line = in.readLine();
        if(line.indexOf("submit") != -1){
            line += "<br><div id=message-wap><font size=2 color=red>Data Error!</font></div>";
        }
        out<<(line);
        out.flush();
    }
}

void checksuccess(){
    printf("<script>window.location.href='http://checksuccess;</script>");//实现页面的自动跳转
}

int main(void)
{
    printf("%s\n\r\n","Content-Type:text/html;charset:UTF-8");
    int maxLength = atoi(getenv("CONTENT_LENGTH"));
    char data[maxLength];
    scanf("%s", data);
    if(!getenv("CONTENT_LENGTH")){
        dataerror();
    }else{
        char userName[16] = "";
        char passWord[16] = "";
        sscanf(data,"name=%[^&]&pw=%[^&]",userName,passWord);
        if(!strcmp(userName, "admin") && !strcmp(passWord, "admin")){
            checksuccess();
        }else{
            checkfail();
        }
    }
    return 0;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值