📄 hiddenform.c
字号:
/* hiddenForm.c - source code for hiddenForm.cgi
Author: M. L. Liu.
This script dynamically generates a web page which
contains hidden form fields which contain the name-
value pairs received in the query string.
*/
#include <stdio.h>
#ifndef NO_STDLIB_H
#include <stdlib.h>
#else
char *getenv();
#endif
#define MAX_ENTRIES 10000
typedef struct {
char *name;
char *val;
} entry;
char *makeword(char *line, char stop);
char *fmakeword(FILE *f, char stop, int *len);
char x2c(char *what);
void unescape_url(char *url);
void plustospace(char *str);
main(int argc, char *argv[]) {
entry entries[MAX_ENTRIES];
register int x,m=0;
int cl;
printf("Content-type: text/html%c%c",10,10);
if(strcmp(getenv("REQUEST_METHOD"),"POST")) {
printf
("This script should be used with a POST METHOD.\n");
exit(1);
}
cl = atoi(getenv("CONTENT_LENGTH"));
for(x=0;cl && (!feof(stdin));x++) {
m=x;
entries[x].val = fmakeword(stdin,'&',&cl);
plustospace(entries[x].val);
unescape_url(entries[x].val);
entries[x].name = makeword(entries[x].val,'=');
}
/* generate a dynamic form which contains hidden form fields */
printf("<FORM method=\"post\" action=\"hiddenForm2.cgi\">");
printf("<H@>This form was dynamically generated by ",
"hiddenForm.cgi</H2>");
printf("<H1>Query Results</H1>");
printf("You submitted the following name/value pairs:<p>%c",10);
printf("<ul>%c",10);
for(x=0; x <= m; x++)
printf("<li> <code>%s = %s</code>%c",entries[x].name,
entries[x].val,10);
printf("</ul>%c",10);
/* now put each name-value pair in a hidden form field */
for(x=0; x <= m; x++)
printf("<INPUT TYPE=\"HIDDEN\" NAME=%s VALUE=%s>\n",
entries[x].name, entries[x].val);
printf("Press <input type=\"submit\" value=\"here\"> to ",
"submit your query.");
printf("<HR>");
printf("</FORM>");
printf("</BODY>");
printf("</HTML>");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -