Schrift
[thread]382[/thread]

Wert der Variablen wird nicht übergeben



<< >> 9 Einträge, 1 Seite
Kathrin
 2004-12-16 11:11
#3763 #3763
User since
2004-12-15
158 Artikel
BenutzerIn
[default_avatar]
Hi,
hier mal eine "lächerliche" Frage.
$doctyp wird von der ersten index.html Seite ins generierte Html Output ordnungsgemäß übergeben.
Code: (dl )
my $doctyp=$cgi->param("doctyp");

wenn ich jetzt auf dem neuen Html Output noch submit  button betätige, ladet sich ja mein Output nochmal, und da wird dann $doctyp nicht weitergegeben. Es sollte sich jedoch nicht ändern. Es soll immer den Wert aus der index.html Seite behalten

EDIT: sorry es sollte doctyp heißen\n\n

<!--EDIT|Kathrin|1103188939-->
Relais
 2004-12-16 11:18
#3764 #3764
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn Du Dich nirgends vertippt hast,
wenn Du ein CGI-Objekt erstellt hast,
wenn der Wert vorher im Formular gesetzt war
und übergeben wurde,
ja, dann ist er jetzt auch da.

Auf den Ersten Blick schreibst Du im Code doctyp
und in der Prosa "docname".
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
Ronnie
 2004-12-16 11:21
#3765 #3765
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Wenn ich mir unsicher bin was den übergeben wurde, verwende ich bei der CGI-Entwicklung gerne folgendes Konstrukt:
Code: (dl )
1
2
3
4
5
6
use CGI::Carp qw ( warningsToBrowser fatalsToBrowser );
use Data::Dumper;

# .....

die Dumper $cgi->Vars(); # was wurde den per Formular übermittelt?
Kathrin
 2004-12-16 11:30
#3766 #3766
User since
2004-12-15
158 Artikel
BenutzerIn
[default_avatar]
Hmmm, auf dem ersten generiertem Output wird schon das richtige übergebene angezeigt.
Doch beim zweiten wird $doctyp leer angezeigt.
Ich vermute, da ja beim ersten generierten Output $doctyp nur angezeigt wird, dass beim zweiten kein $doctyp im Formular betseht, aber mein script ja
Code: (dl )
my $doctyp=$cgi->param("doctyp");
$doctyp neu setzt, dass es daran liegt, dass $doctyp dann leer ist... Ist es möglich?
Ich hoffe ich konnte meine Gedanken klar erklären :blush:
Taulmarill
 2004-12-16 11:58
#3767 #3767
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
ich denke du hast das problem richtig erkannt.
die variable $doctyp wird bei jedem scriptaufruf neu gesetzt. wenn du den wert weiter beibehalten willst musst du ihn schon über das formular weiter mit übergeben, also z.B. mit
Code: (dl )
print qq|<input type="hidden" name="doctyp" value=$doctyp>\n|;

oder du bindest jeden user an eine session. dann müsstest du aber auch den session key weiterreichen.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Relais
 2004-12-16 11:59
#3768 #3768
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie ist das mit erstem und zweitem generierten Output zu verstehen?

Wenn im Formular kein doctyp drin ist und Du dann my $doctyp=$cgi->param("doctyp"); dann ist $doctyp wohl undef .
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
Relais
 2004-12-16 12:04
#3769 #3769
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Taulmarill,16.12.2004, 10:58]also z.B. mit
Code: (dl )
print qq|<input type="hidden" name="doctyp" value=$doctyp>\n|;
[/quote]
TMTOWTDI:
Code: (dl )
$cgi->hidden( -name=>'doctyp', -default=>$cgi->param('doctyp') );
oder
Code: (dl )
$cgi->hidden( 'doctyp', $cgi->param('doctyp') );
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
Kathrin
 2004-12-16 12:05
#3770 #3770
User since
2004-12-15
158 Artikel
BenutzerIn
[default_avatar]
@taulmarill super danke, so müsste es gehen mit "hidden"
Kathrin
 2004-12-16 12:10
#3771 #3771
User since
2004-12-15
158 Artikel
BenutzerIn
[default_avatar]
Wie gesagt funktioniert ;-) Danke
<< >> 9 Einträge, 1 Seite



View all threads created 2004-12-16 11:11.