Menu

Html vers C sscanf trop long? [Résolu/Fermé]

- - Dernière réponse :  Ashtar - 10 mai 2009 à 13:50
Bonjour,
alors voila mon problème je souhaiterais récupérer 81 valeurs de mon tableau html vers mon programme en c.
Le problème est le suivant, Le sscanf ne peut récupérer apparemment qu'une partit du formulaire comment fair pour arriver a prendre tout ce qui a été soumis?

L'url : http://localhost/...

Mon codes :
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
printf("Content-type: text/html\n\n");
printf("<HTML><HEAD><TITLE>verif</TITLE></HEAD><BODY>");
char *data;
long aa, ab, ac, ad, ae, af, ag, ah, ai;
long ba, bb, bc, bd, be, bf, bg, bh, bi;
long ca, cb, cc, cd, ce, cf, cg, ch, ci;
long da, db, dc, dd, de, df, dg, dh, di;
long ea, eb, ec, ed, ee, ef, eg, eh, ei;
long fa, fb, fc, fd, fe, ff, fg, fh, fi;
long ga, gb, gc, gd, ge, gf, gg, gh, gi;
long ha, hb, hc, hd, he, hf, hg, hh, hi;
long ia, ib, ic, id, ie, x, ig, ih, ii;
data = getenv("QUERY_STRING");
sscanf(data,"aa=%ld&ab=%ld&ac=%ld&ad=%ld&ae=%ld&af=%ld&ag=%ld&ah=%ld&ai=%ld&ba=%ld&bb=%ld&bc=%ld&bd=%ld&be=%ld&bf=%ld&bg=%ld&bh=%ld&bi=%ld&ca=%ld&cb=%ld&cc=%ld&cd=%ld&ce=%ld&cf=%ld&cg=%ld&ch=%ld&ci=%ld&da=%ld&db=%ld&dc=%ld&dd=%ld&de=%ld&df=%ld&dg=%ld&dh=%ld&di=%ld&ea=%ld&eb=%ld&ec=%ld&ed=%ld&ee=%ld&ef=%ld&eg=%ld&eh=%ld&ei=%ld&fa=%ld&fb=%ld&fc=%ld&fd=%ld&fe=%ld&ff=%ld&fg=%ld&fh=%ld&fi=%ld&ga=%ld&gb=%ld&gc=%ld&gd=%ld&ge=%ld&gf=%ld&gg=%ld&gh=%ld&gi=%ld",&aa,&ab,&ac,&ad,&ae,&af,&ag,&ah,&ai,&ba,&bb,&bc,&bd,&be,&bf,&bg,&bh,&bi,&ca,&cb,&cc,&cd,&ce,&cf,&cg,&ch,&ci,&da,&db,&dc,&dd,&de,&df,&dg,&dh,&di,&ea,&eb,&ec,&ed,&ee,&ef,&eg,&eh,&ei,&fa,&fb,&fc,&fd,&fe,&ff,&fg,&fh,&fi,&ga,&gb,&gc,&gd,&ge,&gf,&gg,&gh,&gi);
printf("ab : %ld aa : %ld ac : %ld ad : %ld ae : %ld af : %ld ag : %ld ah : %ld ai : %ld ",ab,aa,ac,ad,ae,af,ag,ah,ai);
printf("<br> ab : %ld aa : %ld ac : %ld ad : %ld ae : %ld af : %ld ag : %ld ah : %ld ai : %ld",bb,ba,bc,bd,be,bf,bg,bh,bi);
printf("<br> ab : %ld aa : %ld ac : %ld ad : %ld ae : %ld af : %ld ag : %ld ah : %ld ai : %ld",cb,ca,cc,cd,ce,cf,cg,ch,ci);
printf("<br> ab : %ld aa : %ld ac : %ld ad : %ld ae : %ld af : %ld ag : %ld ah : %ld ai : %ld",db,da,dc,dd,de,df,dg,dh,di);
printf("<br> ab : %ld aa : %ld ac : %ld ad : %ld ae : %ld af : %ld ag : %ld ah : %ld ai : %ld",eb,ea,ec,ed,ee,ef,eg,eh,ei);
printf("<br> ab : %ld aa : %ld ac : %ld ad : %ld ae : %ld af : %ld ag : %ld ah : %ld ai : %ld",fb,fa,fc,fd,fe,ff,fg,fh,fi);
printf("<br> ab : %ld aa : %ld ac : %ld ad : %ld ae : %ld af : %ld ag : %ld ah : %ld ai : %ld",gb,ga,gc,gd,ge,gf,gg,gh,gi);
sscanf(data,"&ha=%ld&hb=%ld&hc=%ld&hd=%ld&he=%ld&hf=%ld&hg=%ld&hh=%ld&hi=%ld&ia=%ld&ib=%ld&ic=%ld&id=%ld&ie=%ld&x=%ld&ig=%ld&ih=%ld&ii=%ld",&ha,&hb,&hc,&hd,&he,&hf,&hg,&hh,&hi,&ia,&ib,&ic,&id,&ie,&x,&ig,&ih,&ii);
printf("<br> ab : %ld aa : %ld ac : %ld ad : %ld ae : %ld af : %ld ag : %ld ah : %ld ai : %ld",hb,ha,hc,hd,he,hf,hg,hh,hi);
printf("<br> ab : %ld aa : %ld ac : %ld ad : %ld ae : %ld af : %ld ag : %ld ah : %ld ai : %ld",ib,ia,ic,id,ie,x,ig,ih,ii);
}

ce qui s'affiche :
ab : 6 aa : 8 ac : 2 ad : 5 ae : 4 af : 6 ag : 4 ah : 9 ai : 3
ab : 1 aa : 5 ac : 3 ad : 7 ae : 6 af : 3 ag : 5 ah : 4 ai : 8
ab : 6 aa : 2 ac : 8 ad : 2 ae : 5 af : 3 ag : 5 ah : 9 ai : 5
ab : 3 aa : 2 ac : 6 ad : 6 ae : 5 af : 3 ag : 2 ah : 5 ai : 9
ab : 5 aa : 1 ac : 5 ad : 6 ae : 4 af : 7 ag : 8 ah : 4 ai : 8
ab : 8 aa : 1 ac : 3 ad : 9 ae : 6 af : 5 ag : 7 ah : 6 ai : 3
ab : 1 aa : 5 ac : 7 ad : 6 ae : 7 af : 8 ag : 6 ah : 9 ai : 5
ab : 3014656 aa : 0 ac : 1999869266 ad : 2000444295 ae : -788528943 af : 2000456492 ag : 50331651 ah : 3029376 ai : 2000066612
ab : 3014984 aa : 1244892 ac : 3014656 ad : 16777216 ae : 3029376 af : 3164512 ag : 3126579 ah : 0 ai : 3126578

Vous m'excuser pour l'affichage avec le nom des variables fausse mais arf pas le temps de tout retaper.

Si j'ai mis un deuxième sscanf c'est que le premier ne voulais pas tous prendre!! Mais en sachant quand même que ce n'est pas une solution la preuve a l'affichage...

Help me please.
Afficher la suite 

1 réponse

0
Merci
Allé vraiment c'est un point bloquant de ne pas pouvoir avoir les données transmise de l'utilisateur. S'il vous plait. Quelqu'un a une idée?
Le problème est résolue ou plutôt détourner :

<?php
$commentaire=''.$_GET['aa'].';'.$_GET['ab'].';'.$_GET['ac'].';'.$_GET['ad'].';'.$_GET['ae'].';'.$_GET['af'].';'.$_GET['ag'].';'.$_GET['ah'].';'.$_GET['ai'].';'.$_GET['ba'].';'.$_GET['bb'].';'.$_GET['bc'].';'.$_GET['bd'].';'.$_GET['be'].';'.$_GET['bf'].';'.$_GET['bg'].';'.$_GET['bh'].';'.$_GET['bi'].';'.$_GET['ca'].';'.$_GET['cb'].';'.$_GET['cc'].';'.$_GET['cd'].';'.$_GET['ce'].';'.$_GET['cf'].';'.$_GET['cg'].';'.$_GET['ch'].';'.$_GET['ci'].';'.$_GET['da'].';'.$_GET['db'].';'.$_GET['dc'].';'.$_GET['dd'].';'.$_GET['de'].';'.$_GET['df'].';'.$_GET['dg'].';'.$_GET['dh'].';'.$_GET['di'].';'.$_GET['ea'].';'.$_GET['eb'].';'.$_GET['ec'].';'.$_GET['ed'].';'.$_GET['ee'].';'.$_GET['ef'].';'.$_GET['eg'].';'.$_GET['eh'].';'.$_GET['ei'].';'.$_GET['fa'].';'.$_GET['fb'].';'.$_GET['fc'].';'.$_GET['fd'].';'.$_GET['fe'].';'.$_GET['ff'].';'.$_GET['fg'].';'.$_GET['fh'].';'.$_GET['fi'].';'.$_GET['ga'].';'.$_GET['gb'].';'.$_GET['gc'].';'.$_GET['gd'].';'.$_GET['ge'].';'.$_GET['gf'].';'.$_GET['gg'].';'.$_GET['gh'].';'.$_GET['gi'].';'.$_GET['ha'].';'.$_GET['hb'].';'.$_GET['hc'].';'.$_GET['hd'].';'.$_GET['he'].';'.$_GET['hf'].';'.$_GET['hg'].';'.$_GET['hh'].';'.$_GET['hi'].';'.$_GET['ia'].';'.$_GET['ib'].';'.$_GET['ic'].';'.$_GET['id'].';'.$_GET['ie'].';'.$_GET['x'].';'.$_GET['ig'].';'.$_GET['ih'].';'.$_GET['ii'].'';
$ouvre=fopen("C:\wamp\bin\apache\Apache2.2.11\cgi-bin\get.txt","w+");
fwrite($ouvre,$commentaire);
fclose($ouvre);
?>
<head>
<script type="text/javascript" language="JavaScript">
if (confirm("Confirmez vous la suppression du module?"))
{
document.location.href='http://localhost/cgi-bin/verif.exe'
}
</script></head>

J'ai pu qu'a lire le fichier texte... voila bon bas merci quand même.
> Ashtar -
Édit :

<head>
<script type="text/javascript" language="JavaScript">
document.location.href='http://localhost/cgi-bin/verif.exe'
</script></head>

Le if(confirm... n'a rien a foutre la désoler.
Faut que j'arrête de polluer Commentsamarche moi. X)