Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- int parse( char *s )
- {
- char *vname;
- char *val;
- int c;
- char buf[3];
- if(!s) {
- printf("Elemento nullo'\n");
- return;
- }
- vname = s;
- while(*s && (*s != '=')) s++;
- if(!*s) {
- printf("Assegnazione nulla'\n");
- return;
- }
- *(s++) = '\0';
- printf("<p>%s='",vname);
- for(val=s; *val; val++) {
- switch( *val ) {
- case '%':
- buf[0]=*(++val); buf[1]=*(++val);
- buf[2]='\0';
- sscanf(buf,"%2x",&c);
- break;
- case '+':
- c = ' ';
- break;
- default:
- c = *val;
- }
- switch(c) {
- case '\\': printf("\\\\"); break;
- case '\'': printf("\\'"); break;
- case '\n': printf("\\n"); break;
- default: putchar((char)c); break;
- }
- }
- printf("'</p>\n");
- }
- main()
- {
- char *query_string;
- char *elemento;
- printf("Content-Type:text/html\n\n");
- printf("<html><head><title>Parametri di un form</title></head><body>\n");
- query_string = (char *)getenv("QUERY_STRING");
- if(!query_string) {
- printf("X_ERR='QUERY_STRING non valida'\n");
- exit(0);
- }
- elemento = strtok(query_string,"&");
- while( elemento ) {
- parse(elemento);
- elemento = strtok(NULL,"&");
- }
- printf("</body></html>\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement