// solaris (prix7) il 15.3.99 - Alfieri, Covati // METODO POST // COMPILARE CON: g++ snftScheda.cpp -o snftScheda // #include #include #include #include #include #define MAXPUNT 100 isempty(char *dato); int clean(char *s); char todigit(int ch); char *val(char *name); int token(char *, char *, char *[]); int tokenize(); char *q[MAXPUNT]; char *q_value[MAXPUNT]; char *q_name[MAXPUNT]; char *tmp[MAXPUNT]; char s[300]; main(int argc, char *argv[], char *envp[]) { int k,i; cin >> s; // input della stringa clean(s); // ripulisce la stringa, toglie i + e i % tokenize(); // tokenizzazzione della stringa ofstream out("/tmp/post"); // apertura file char destinatario[]="alfieri@pr.infn.it"; //INSERIRE DESTINATARIO char soggetto []=" test cgi"; // INSERIRE IL SOGGETTO // VERIFICA CAMPI OBBLIGATORI if(!strcmp(val("name")," ")) {isempty ("NOME e COGMOME"); return 0;} if(!strcmp(val("Institution")," ")) {isempty ("ISTITUTO"); return 0;} if(!strcmp(val("citta")," ")) {isempty ("CITTA"); return 0;} if(!strcmp(val("email")," ")) {isempty ("E-MAIL"); return 0;} // FINE VERIFICA out<<"to: " << destinatario << endl; out<<"Subject: "<< soggetto << endl; out << endl; // INSERIRE IL TESTO DELLA MAIL out<<"NOME : "<< val("name") << endl; out<<"ISTITUTO : "<< val("Institution") << endl; out<<"CITTA : "<< val("citta") << endl; out<<"CICLO DOTT. : "<< val("ciclo") << endl; out<<"INF.ALBERG. : "<< val("albergo") << endl; out<<"NOTE : "<< val("notes") << endl; out<<"MailTo:"<< val("email") << endl; // FINE TESTO MAIL out.close(); system("/usr/lib/sendmail -t -f root < /tmp/post "); system("rm /tmp/post "); // INSERIRE IL MESSAGGIO A VIDEO cout<<""<"<CGI FORM"<"<"<SNFT 1999

"<ISCRIZIONE AVVENUTA!

"< " << destinatario << endl; // FINE MESSAGIO A VIDEO } //****ISEMPTY - MESSAGGIO DA VISUALIZZARE SE MANCA UN CAMPO isempty(char *dato) { cout<<""<"<CGI FORM"<"<"<SNFT 1999

"<ISCRIZIONE NON AVVENUTA!

"< "< e' obbligatorio "<"<