recuperation de parametres CGI
bonjour à tous,
j'ecris une interface CGI DBI en perl. c'est au niveau du CGI que ca coince:
j'ai un formulaire simple ecris en CGI qui renvoie (methods post) un parametre unique (donc simple a "parser") à un autre formulaire CGI qui doit utiliser ce parametre.
1-le 1er formulaire est du type:
Code:
1 2 3 4 5 6 7 8 9
|
print startform(-method=>'post', -action=>"../test.cgi", -target=>'response');
print div({-class=>'menu_onglet'},
span({-class=>'onglet-actif'},'Search trait'),
hidden(-class=>'onglet', -name=>'scip', -default=> $cgi -> param('project')),
submit({-class=>'onglet',-value=>'Search QTL by trait'}),
a({-class=>'onglet', -href=>"$project"},'Project description')
);
print endform; |
le parametre scip est bien envoyé au deuxième formulaire
2-le deuxième formulaire doit lire le parametres qui lui a été envoyé ET ecrire un formulaire qui depend du parametre que le premier script lui a envoyé.il est du type
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
#!/usr/bin/perl
use strict; use Carp; use DBI; use CGI qw/:all/;
#recuperation des parametres
my $cgi_in = new CGI;
my $in = $cgi_in = param('scip');
#ici un
#print $in;
# me donne bien la valeur envoyée par le 1er script:
#Le parametre est bien lu et stocké dans un variable
#creation d'un nouveau cgi
my $cgi = new CGI;
my $title = "eQTL by Hak: this frame should be in a frameset";
print $cgi -> header;
my $path_info = $cgi -> path_info;
#ECRITURE DE LA PAGE HTML
#si pas de path_info alors je creer un FRAME SET
if(!$path_info){
&print_frameset;
exit 0;
}
#sinon j'ecris dans les differents FRAME en fonction de leur $path_info
&print_html_header;
&print_onglet if $path_info =~ /onglet/;
&print_query if $path_info =~ /query/;
&print_response if $path_info =~ /response/;
&print_end;
#LES FONCTIONS
#ecriture du FRAME SET
sub print_frameset{
my $script_name = $cgi -> script_name;
# ICI print $in; me donne bien encore une fois la valeur attendue
print <<FS
<HTML>
<HEAD><TITLE>$title</TITLE></HEAD>
<FRAMESET ROWS="9%,*" FRAMEBORDER="yes">
<FRAME NAME="onglet" SRC="$script_name/onglet" SCROLLING="auto">
<FRAMESET COLS="25,*" FRAMEBORDER="yes">
<FRAME NAME="query" SRC="$script_name/query" SCROLLING="auto">
<FRAME NAME="response" SRC="$script_name/query" SCROLLING="auto">
</FRAMESET>
</FRAMESET>
</HTML>
FS
;
#A PARTIR d'ici la variable $in disparait !!!! ????
print $in; me renvoieune chaine vide
exit 0;
}
#debut de page html
sub print_html_header {
print $cgi->start_html(
-title=>$title,
-style=>{-type=>'text/css',
-media=>'screen',
-src=>'../../style.css'
}
);
print $in;
}
#fin de page html
sub print_end {
print $cgi->end_html;
}
#ecriture du contenu de mes FRAMES
sub print_onglet{
my $script_name = $cgi -> script_name;
print "::::".$in."!!!"; #$in est vide depuis le FRAMESET
}
sub print_query{
my $script_name = $cgi -> script_name;
print "::::".$in."!!!"; #$in est vide depuis le FRAMESET
}
sub print_response{
my $script_name = $cgi -> script_name;
print "::::".$in."!!!"; #$in est vide depuis le FRAMESET
}
exit 0; |
apres avoir chercher sur la doc et les forum, et revus mon script je ne comprend ce que devien ma ma variable $in ??
Est ce que quelqu'un pourrait m'eclairer ?
Merci d'avance,