Lien entre formulaire et CGI
youbous
Messages postés
6
Statut
Membre
-
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,j'essaie d’écrire un programme CGI en c et je ne sais pas comment lié le c avec un formulaire pour faire "scanf" (récupérer une valeur)
voici mon code c
et le code du formulaire
aidez moi s'il vous plait.
voici mon code c
#include<stdio.h>
int main()
{
printf("Content-type:text/plain\n\n");
printf("<html><head><title>exo1</title></head><body>\n");
int i;
int n;
printf("donnez n ");
scanf("%d",&n);
printf("vous avez introduit la valeur %d \n",n);
int U[n];
U[1]=1;
U[2]=2;
for(i=3;i<=n;i++)
{
U[i]=U[i-1]+U[i-2];
}
for(i=1;i<=n;i++)
{
printf("U[%d]=%d\n",i,U[i]);
}
}
et le code du formulaire
<form mathod="GET" action="http://127.0.0.1/cgi-bin/Untitled3.cgi">
<input name="nembre">
<button>submit</button>
</form>
aidez moi s'il vous plait.
2 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
c'est sans doute une bonne idée, et elle me surprend: peux-tu nous en dire plus: où tourne ton programme, vers quoi envoie-t-il le formulaire?
quel est l'énoncé de l'exercice?-
On considère la suite numérique définie par :
U1 = 1, U2 = 2 et
Un = 2 (Un-1 + Un-2), pour n>2
Ecrire un script CGI en C, nommé "ex2.cgi", qui :
1. Retourne, le nième terme de cette suite (la valeur de n est introduite par l'utilisateur),
2. Affiche les termes de cette suite ainsi que leur somme.
NB : Les valeurs de n est introduite via un formulaire. -
-
-
-
Salut youbous,
Si ton formulaire utilise une méthode GET (note que tu as fait une faute de frappe dans<form mathod="GET"
c'est "method" et pas "mathod"), le contenu renvoyé au serveur par le formulaire est disponible dans la variable d'environnement QUERY_STRING, que tu peux récupérer avec la fonction standardgetenv()
. Tu parses ensuite le contenu pointé par le pointeur sur char renvoyé pargetenv()
, par exemple avecsscanf()
.
C'est expliqué notamment dans cet ouvrage :
https://www.oreilly.com/library/view/cgi-programming-on/9781565921689/07_chapter-04.html
et tu as des exemples, pour les méthodes GET et POST ("POST" étant plus délicat à gérer), là :
http://jkorpela.fi/forms/cgic.html#simpleform
C'est assez simple à faire dans ton cas, car tu dois récupérer juste un nombre entier.
Si tu dois faire des choses plus élaborées il y a des bibliothèques en C, qui gèrent le CGI :
https://www.lemoda.net/c/cgi-libraries/
Dal