Absendebutton wird als XY Koordinate erkannt????
Erwin
- perl
0 Klaus Mock
Hallo,
ich habe hier ein Problem mit dem Absenden eines Formularinhaltes:
form action="/cgi-bin/comments.pl" method=post>
<input type=hidden name="AnwenderName" value="Fester Wert"><br>
<input type=hidden name="Adresse" value="Wieder fester Wert"><BR>
<input type=image src="gutschein/grafik/gutschein_klein.gif" value="Absenden"></form>
Dieses möchte ich absenden.
mit diesem Script möchte ich es auslesen:
@Formularfelder = split(/&/, $Daten);
foreach $Feld (@Formularfelder)
{
($name, $value) = split(/=/, $Feld);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.\n)*-->//g;
$Formular{$name} = $name;
$Formular{$value} = $value;
print "$Formular{$name} = <b>$Formular{$value}</b>", "<br>\n";
Problem: Der Absendebutten input image wird als Wert erkannt und in der Formularausgabe erscheint x=23 und Y=41.
Was kann ich tun, damit der grafische Absendebutton nicht als Eingabewert erkannt wird und im Ergebniss nicht mehr auftaucht????
Vielen Dank im Voraus für Antworten.
Erwin
Hallo,
@Formularfelder = split(/&/, $Daten);
foreach $Feld (@Formularfelder)
»» {
($name, $value) = split(/=/, $Feld);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.\n)*-->//g;
$Formular{$name} = $name;
$Formular{$value} = $value;
print "$Formular{$name} = <b>$Formular{$value}</b>", "
\n";
Hat zwar nichts mit deinem 'Problem' zu tun, aber trotzdem: Du solltest das Modul CGI.pm einsetzen, und nicht selbst die Formularauswertung machen. Es hat viele Vorteile, und es ist seit längerer Zeit ein Standard-Modul, daß in jeder Perl-Distribution vorhanden ist.
Problem: Der Absendebutten input image wird als Wert erkannt und in der Formularausgabe erscheint x=23 und Y=41.
Was kann ich tun, damit der grafische Absendebutton nicht als Eingabewert erkannt wird und im Ergebniss nicht mehr auftaucht????
Gar nichts. Ignorier einfach die Werte falls Du sie nicht benötigst.
Grüße
Klaus
Hi,
Problem: Der Absendebutten input image wird als Wert erkannt und in der Formularausgabe erscheint x=23 und Y=41.
Was kann ich tun, damit der grafische Absendebutton nicht als Eingabewert erkannt wird und im Ergebniss nicht mehr auftaucht????Gar nichts. Ignorier einfach die Werte falls Du sie nicht benötigst.
um genauer zu sein: Bei <input type=image> werden die Koordinaten als "name.x" und "name.y" bzw. einfach "x" und "y", falls kein name-Attribut angegeben ist, übergeben. Das ist der Sinn dieses Buttontyps.
Cheatah
Das Problem ist, daß ich die Eingaben in einem Formular wieder ausgebe.
Ich möchte nicht immer x und y dort drin stehen haben.
Wie kann man versteckte Felder über ein Script laufen lassen, wenn der Absendebutton grafisch ist??
Bitte helft mir.
erwin
Hallo,
Wie gesagt einfach ignorieren. Hier eine der (vielen) Möglichkeiten:
#!/usr/bin/perl
use CGI;
use strict;
my $query = new CGI;
my @ausgabefelder = ('Name','Vorname','blablabla');
print $query->header;
print $query->start_html(-title=>'Ergebnisse');
foreach my $feld (@ausgabefelder)
{
print "$feld = ".$query->param($feld)."<br>\n";
}
print $query->end_html;
Alles klar? Nein? Erklärungen stehen in der Doku zu CGI.pm.
Grüße
Klaus