Schrift
[thread]369[/thread]

ungewolltes Zeichen in Query: bei redirect



<< >> 4 Einträge, 1 Seite
pktm
 2004-08-26 20:45
#3579 #3579
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!
Ich habe da eine Sub der ich eine URL zum redirecten gebe.
Code: (dl )
1
2
3
4
5
6
7
8
9
sub _redir {
   my $self = shift;
   my $q = $self->query();
   my $new_url = shift || $q->url(-relative=>1);
   $self->header_type('redirect');
   $self->header_props(-url=>$new_url);
#print STDERR Data::Dumper::Dumper($new_url);
   return "Redirecting to $new_url";
} # redir


$self->header_type('redirect'); und $self->header_props(-url=>$new_url); sind Methoden der Klasse CGI::Application, welche einfach dazu dienen später einen redirect (http) - header und die dazugehörige URL auszugeben.

Jetzt bekomme ich bei Programm B (bei A geht es komischerweise) das Zeichen %0A in den Querystring gehauen:
Code: (dl )
http://127.0.0.1/cgi-bin/plaettig/feedback.cgi%0A?rm=showErrorForm;Name=;eMail=a;Firma=;Nachricht=%0D%0A


Und das bei diesem Aufruf:
Code: (dl )
1
2
# $q = Query-Objekt
$self->_redir($q->url(-relative=>1,-path_info=>1,-query=>1));


Wenn ich das -path_info=>1 weg lasse, also nur die URL übergebe passiert das Selbe.

Woran könnte das liegen?
mfg pktm\n\n

<!--EDIT|renee|1093605265-->
http://www.intergastro-service.de (mein erstes CMS :) )
pktm
 2004-08-26 21:08
#3580 #3580
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Gut, die Sache hatte ncihts mit dem Code zu tun.
Wenn in dem Textarea-Feld im Formular nur ein \n stand wurde das in der URL irgendwie vermurkst.
Wahrscheinlich, weil \n\n ja für die Ausgabe des headers benutzt wird.
Ich muss also \n beim Textfeld abfangen.
Bei Programm A wars übrigens genauso, nur dass dort das Textfeld nicht schon von vorneherein ein \n enthielt.
mfg pktm\n\n

<!--EDIT|pktm|1093540126-->
http://www.intergastro-service.de (mein erstes CMS :) )
pktm
 2004-08-27 15:02
#3581 #3581
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hm, komisch, trotz der Umwandlung aller gefärlichen Zeichen kann ich dieses Zeichen (im Query) bei Eingabe eines Zeilenumbruches nicht entfernen...
Ist das eventuell so ein HTML-Dingen?
http://www.intergastro-service.de (mein erstes CMS :) )
pq
 2004-09-01 16:07
#3582 #3582
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
ich hab zwar nicht verstanden, woher genau das %0A kommt, aber es ist die
uri-kodierte repräsentation von \n. da aus deiner sub nicht ersichtlich ist,
in welcher variable das verdächtige %0A steht, kann ich dir so auch nicht
weiterhelfen, ausser dir zu raten, das newline zu entfernen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 4 Einträge, 1 Seite



View all threads created 2004-08-26 20:45.