Formulare was wird an Perl übergeben? (Nur Profis)
Max
- html
0 klaus2 Christoph Schnauß2 Struppi- cgi
0 maumau0 Struppi
2 dedlfix0 Max
5 schade
Semi-Profi
Hallo,
ich habe mal eine Frage:
Wenn ich ein HTML Formular an ein Perl-Script absende was wird da genau übermittelt?
Ich habe schon einiges getestet, mir scheint als ob nur Form-elemente die einen Name haben versandt werden.
also:
<INPUT value="123"> --> wird nicht versandt
<INPUT value="123" name="test"> --> wird versandt
aber: (nicht alles was einen Namen hat)
<irgendwas value="123" name="test"> --> wird nicht versandt
Was wird da eingentlich verschickt? Oder lese ich das nur falsch ein?
Werden alle Tags wie INPUT, SELECT und TEXTAREA verschickt oder nur die einen Namen haben?
Wer weis das genau oder wo steht das? Ich suche schon seit 3 Tagen vergebens.
Vielen Dank für einen Tipp
Tschüss Max
Hi,
Wenn ich ein HTML Formular an ein Perl-Script absende was wird da genau übermittelt?
finde es doch selbst heraus (mal aus dem Lehrbuch):
my $key;
my %args = read_params();
foreach $key (keys %args){
print $args{$key};
}
sub read_params {
my $input = '';
my %args;
read( STDIN, $input, $ENV{'CONTENT_LENGTH'} ) if ( $ENV{'CONTENT_LENGTH'} );
foreach my $parameter ( split /[&;]/, $input ) {
my ( $key, $val ) = split( /=/, $parameter );
$args{$key} = $val;
}
return %args;
}#read_params
hth, klaus
Hallo,
habe ich schon getestet es werden mit Parm nur die Felder mit Namen übergeben. Selbst doppelnamige werden nur eimal übergeben.
Die Frage ist was passiert mit den ohne Namen kann man die per POST auch anderes einlesen?
Tschüss Max
Hi,
habe ich schon getestet es werden mit Parm nur die Felder mit Namen übergeben.
ja, eben. Schon mal einen HTTP-Request angesehen? Sieht man ausschnittsweise in der Adresszeile, wenn du eine lange URI hast:
datei.cgi?p1=v1&p2=v2
Langweilig wär's ja, wenn datei.cgi?=v1&=v2 dastehen würde...
Selbst doppelnamige werden nur eimal übergeben.
Nein, auch zweimal:
datei.cgi?p1=v1&p1=v2
Die Variable p1 existiert dagegen nur einmal, deshalb wird der erste Wert durch den zweiten überschrieben
E7
datei.cgi?p1=v1&p1=v2
Die Variable p1 existiert dagegen nur einmal, deshalb wird der erste Wert durch den zweiten überschrieben
Nur wenn man das schlechte Beispiel aus dem Lehrbuch verwendet, mit dem CGI Modul ist dies kein Problem:
my @p1 = CGI::param('p1');
Struppi.
Hallo,
eben nochmal getestet:
Mit dem IE 6.0 ist es so das per GET nur Formularfelder mit Namen also (name=...) übertragen werden. Die stehen jederfalls in Perl per $ENV{'QUERY_STRING'}; nicht mehr da.
Und mit param wird auch nichts übergeben. Habe eben alle Empfangenen param Felder ausgegeben.
hallo Max,
ich habe mal eine Frage:
Nunja, du willst ja nur Antworten von Profis.
Wenn ich ein HTML Formular an ein Perl-Script absende was wird da genau übermittelt?
Das tust du ja ganr nicht. Du sendest niemals ein Formular ab. Insofern solltest du bitte deine Frage präziser stellen. Und da du ganz profimäßig deine Frage unter "HTML" rubriziert hast, kann dir leider nur geantwortet werden, daß das mit HTML zunähst noch gar nix zu tun hat.
Es gibt bestimmt noch andere Profis, die dir sinngemäß dasselbe sagen werden.
Grüße aus Berlin
Christoph S.
Wenn ich ein HTML Formular an ein Perl-Script absende was wird da genau übermittelt?
Alles was der Browser will.
Ich habe schon einiges getestet, mir scheint als ob nur Form-elemente die einen Name haben versandt werden.
Nein.
Wer weis das genau oder wo steht das? Ich suche schon seit 3 Tagen vergebens.
selfhtml weiß es
http://de.selfhtml.org/servercgi/cgi/formularverarbeitung.htm
Struppi.
hallo Struppi,
Wenn ich ein HTML Formular an ein Perl-Script absende was wird da genau übermittelt?
Alles was der Browser will.
Konkreter: alles, was der Browser entsprechend seinen Einstellungen versenden darf. Im übrigen ist es niemals das Formular selbst, das versendet wird, sondern es sind die Daten, die ins Formular eingetippt wurden. Allerdings kann ich sowas ja nicht genau wissen, weil ich kein Profi bin ;-)
Grüße aus Berlin
Christoph S.
Hallo.
Wie kommst du darauf, dass deine Frage nur Profis beantworten könnten? Das kann doch eigentlich jeder selbst zuhause am PC testen:
<form action="index.html" method="get">
<input type="text">
<input type="text" name="inp">
<textarea></textarea>
<textarea name="txtarea"></textarea>
<input type="submit">
</form>
Das Ergebnis:
index.html?inp=&txtarea=
Was wird nun überliefert? Nur diese, die auch einen Namen haben! Unter welchem Namen soll denn sonst das alles übertragen werden?
maumau
Das Ergebnis:
index.html?inp=&txtarea=
Dann trag mal was in die Felder ein!
Was wird nun überliefert? Nur diese, die auch einen Namen haben! Unter welchem Namen soll denn sonst das alles übertragen werden?
unter keinem, trotzdem werden die Inhalte übertragen
Struppi.
echo $begrüßung;
Wenn ich ein HTML Formular an ein Perl-Script absende was wird da genau übermittelt?
Wenn dein Perl-Script einen Webserver darstellt...
Ansonsten wird an den sich für den Request zuständig fühlenden Webserver theoretisch das versendet, was in der HTML-Spezifikation geregelt ist:
HTML 4.0.1 - Kapitel [http://www.w3.org/TR/html4/interact/forms.html#h-17.13@title=Form submission]:
17.13.2 Successful controls
A successful control is "valid" for submission. Every successful control has its control name paired with its current value as part of the submitted form data set. A successful control must be defined within a FORM element and must have a control name.
echo "$verabschiedung $name";
Ich dachte mir es schon, hatte aber noch irgendwie gehofft das es anders geht. Danke
mmm..., schade! ich stehe erst ganz kurz vor dem Profiniveau. kann darum leider nicht antworten. sonst hätte ich dir gern eine einfache lösung zukommen lassen. schade...
Moin!
mmm..., schade! ich stehe erst ganz kurz vor dem Profiniveau...
Naja :)
Ich hatte mir eine ziemlich ähnlich lautende Antwort verkniffen. Zumal der Effekt, dass man umsomehr Fragen hat, je mehr man Antworten hatte, sicherlich nicht nur bei mir auftritt:
'Profi' - wann bitte ist man das?
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo fastix®,
Ich hatte mir eine ziemlich ähnlich lautende Antwort verkniffen. Zumal der Effekt, dass man umsomehr Fragen hat, je mehr man Antworten hatte, sicherlich nicht nur bei mir auftritt:
'Profi' - wann bitte ist man das?
Wenn die anderen einen dafür halten. Ohne andere Leute, die zu dir aufsehen können braucht's keine Hierarchie, also auch keine Profis.
Grüße aus Barsinghausen,
Fabian
Moin!
Ohne andere Leute, die zu dir aufsehen können braucht's keine Hierarchie, also auch keine Profis.
Du meinst, das Problem besteht einerseits darin, einen Deppen zu finden und auf der anderen Seite darin, denselben zu geben?
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo fastix®,
Ohne andere Leute, die zu dir aufsehen können braucht's keine Hierarchie, also auch keine Profis.
Du meinst, das Problem besteht einerseits darin, einen Deppen zu finden und auf der anderen Seite darin, denselben zu geben?
Ja. Professionalitaet zeigt sich immer in Herumstochern auf höherem Niveau.
Grüße aus Barsinghausen,
Fabian
hallo Fabian,
Ohne andere Leute, die zu dir aufsehen können braucht's keine Hierarchie, also auch keine Profis.
Ich hoffe stark, daß du doch zu mir aufsehen möchtest *SCNR*
Grüße aus Berlin
Christoph S.
Hallo Freunde des gehobenen Forumsgenusses,
Wenn die anderen einen dafür halten. Ohne andere Leute, die zu dir aufsehen können braucht's keine Hierarchie, also auch keine Profis.
Richtig. Einer meiner Freunde hat von der technischen Seite des Internets fast keine Ahnung und
hölt mich daher für den Ultimativ-Profi ;-)
Gruß
Alexander Brock
hallo Alexander,
Einer meiner Freunde [...] hölt mich
Achso, die Evolution hat dich auf der Stufe des Höhlenmenschen stehengelassen. Sowas aber auch ...
Grüße aus Berlin
Christoph S.
Hallo Freunde des gehobenen Forumsgenusses,
Achso, die Evolution hat dich auf der Stufe des Höhlenmenschen stehengelassen. Sowas aber auch ...
[...] ich meie damit nicht die Tippfehler, die jedem unterlaufen, und auch mir unterlaufen können. (Christoph Schnauß)
Gruß
Alexander Brock