Schrift
[thread]188[/thread]

redirect url: problem mit redirection header

Leser: 2


<< >> 5 Einträge, 1 Seite
daywalka
 2004-03-04 00:32
#1401 #1401
User since
2004-02-03
15 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

ich hab folgendes Problem mit redirection header:

ich benutze für mein kleines Forum zumeist redirections für ev. Fehlereingaben. Zurzeit verwende ich noch komplette IF-ELSE-Blöcke:
Code: (dl )
1
2
3
4
5
if ($value) {
do_stuff;
} else {
$cgi->redirect(URL);
}


Allerdings verschachtelt sich das ganze ziemlich grausam irgendwann. Deshalb wollte ich die kurze Variante nun nehmen:
Code: (dl )
$cgi->redirect(URL) if (not $value);


Nun ist es anscheinend aber so, dass bei dieser Variante der gesammte Code des aufrufenden Scripts trotzdem ausgeführt wird. Also erst das gesamte Script durchlaufen wird und dann erst an die url weitergeleitet wird. :/

Gibt es viell. ein Möglichkeit, dass das Script sofort weiterleitet ohne weiter durchzulaufen oder viell. eine gar bessere Alternative (zu redirect)?

Thx iA
daywalka\n\n

<!--EDIT|daywalka|1078353195-->
pktm
 2004-03-04 02:05
#1402 #1402
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hm, also cih beende das Script direkt nachdem ich intern einen redirect ausführe mit exit(0); # vgl. perldoc -perlfunc
Ansonsten, was genau meinst du damit, dass dein Script erst ganz durchlaufen wird?
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
esskar
 2004-03-04 06:43
#1403 #1403
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
schreib dir ne funktion
Code: (dl )
1
2
3
4
5
6
7
8
sub doredirect
{
my ($cgi, $url) = @_;
$cgi->redirect($url);
exit(0);
}

doredirect($cgi, URL) unless $vlaue; # if (not $value);
pq
 2004-03-04 11:30
#1404 #1404
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=daywalka,03.03.2004, 23:32]
Code: (dl )
$cgi->redirect(URL) if (not $value);

Gibt es viell. ein Möglichkeit, dass das Script sofort weiterleitet ohne weiter durchzulaufen oder viell. eine gar bessere Alternative (zu redirect)?[/quote]
du kennst exit() nicht?
$cgi->redirect(URL), exit if (not $value);
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
daywalka
 2004-03-04 20:58
#1405 #1405
User since
2004-02-03
15 Artikel
BenutzerIn
[default_avatar]
Vielen dank,

exit() hatte ich unsinnigerweise per 'and' verknüpft (exit and redirect()) ^^ ... was natürlich nicht wirklich funktionieren kann :rolleyes:

nunja, die variante mit dem kommaoperator scheint mir am komfortabelsten.

thx nochmal :)
<< >> 5 Einträge, 1 Seite



View all threads created 2004-03-04 00:32.