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.