Marcus Vieß: ? Variable mitführen nachdem das Skript reloaded

Hallo,

Ich habe ein kleines Script welches sich selbst reloaded.
nun soll das ganze dann überprüfen ob in einer variablen was drinn steht und dann direkt eine subroutine aufrufen.

also

if ($redir==1) {
&redir;
} else {
blabla
}

irgendwo unten wird dann $redir auf 1 gesetzt.
Beim reloaden ist nun redir wieder leer ! grrr
Wie bekomme ich die mitgeführt ?

gruß,
         Marcus

  1. Hi,

    Wie bekomme ich die mitgeführt ?

    mitführen kannst Du das nur, indem sich der nächste Request vom vorherigen unterscheidet - am einfachsten durch die URL. In HTTP steht jeder Request absolut für sich, ohne jeden Zusammenhang zu eventuell vorher gewesenen oder nachfolgenden. HTTP ist zustandslos.

    Cheatah

  2. Hi,

    teste mal, ob $ENV{'HTTP_REFERER'} gesetzt ist. Wenn ja, und dort Dein Script drin steht, ist es ein redirect gewesen.

    Oder Du gibst beim redirect Parameter mit:
    http://..../script.pl?redir=1 und liest den Parameter redir

    oder noch einfacher:
    http://..../script.pl?redir

    und dann:
    if ($ENV{'QUERY_STRING'} eq "redir"){
     #es war ein redirect
    }else{
     #kein redir
    }

    Keine der Methoden ist sicher, denn zum einen kann man den Referre fälschen, zum anderen kann natürlich auch jemand Dein Script mit den entsprechenden Parametern aufrufen (wenn er sie denn kennt).

    Gruß Frank