Miten saan lähetettyä argumenttejä c++ kielellä tehtyyn CGI ohjelmaan esimerkiksi formista?
Mod. otsikoi. Vanha otsikko: ”HTML ja argc”
GET-tiedot täytyy hakea getenv-funktiolla ympäristömuuttujasta QUERY_STRING. POST-tiedot tulevat ohjelmalle syötteenä ja luetaan siis stdin-tiedostosta esimerkiksi funktioilla fgets ja scanf. Tiedot ovat sellaisessa muodossa, kuin selaimen osoiterivillä yleensä näkyy, esimerkiksi teksti=Hello%2C+World%21&luku=123, tai tietenkin JavaScriptilla voi lähettää myös XML- tai JSON-dataa.
Komentoriviargumentit (main-funktion parametrit argc ja argv) eivät liity asiaan millään tavalla.
Kiitos. Miksi tämä ei toimi vaan antaa kääntäessä virheen "len_ was not declared in this scope" ?
len_ = getenv("CONTENT_LENGTH");
len = strtol(len_, NULL, 10);
postdata = malloc(len + 1);
if (!postdata) { /* handle error or */ exit(EXIT_FAILURE); }
fgets(postdata, len + 1, stdin);
cout << postdata;
free(postdata);Et varmaan ole määritellyt muuttujaa nimeltä len_.
Aihe on jo aika vanha, joten et voi enää vastata siihen.