Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: PHP: header(Location: ...); m. Intervall
AUTOR BEITRAG
J.R. Proximus

RANG Prophet of Clanintern

#1 - 18.05 09:48

Mahlzeit!

Ich bin zur Zeit dabei, eine Art "Diashow" auf einer Website zu programmieren. Bisher habe ich die automatische Weiterleitung mithilfe der HTML-META-Tags gelöst (also Client-seitig):

PHP-code:
<?php
echo "<meta http-equiv=\"refresh\" content=\"".$mysql_row6["dia_intervall"]."; URL=?s=".$s."&amp;gal=".$_GET["gal"]."&amp;bild=".$mysql_row5["ID"]."&amp;dia=1\">\n";
?>


Nun, das klappt soweit ausgezeichnet, ist wie gesagt jedoch Browser-abhängig und somit recht unzuverlässig, wenn ein Browser den Befehl nicht interpretiert, bzw. der Nutzer diesen Befehl deaktiviert hat.

Jetzt war meine Idee, das ganze mit PHP umzusetzen und somit eine Server-seitige Weiterleitung zu gestalten:

PHP-code:
<?php
sleep
($mysql_row6["dia_intervall"]);
header("Location: ?s=".$s."&gal=".$_GET["gal"]."&bild=".$mysql_row5["ID"]."&dia=1"); 
?>


Das funktioniert natürlich nicht, weil durch den sleep()-Befehl im Kopf der Datei der Rest der Seite erst garnicht geladen wird und somit eine Schleife entsteht (bis das komplette Diashow-Album durchgelaufen ist), die man nur mit dem Stop-Knopf im Browser unterbrechen kann.

Hat jemand eine andere Idee, wie man das lösen könnte, um trotzdem das Intervall (z.B. von 3 Sekunden) berücksichtigen zu können?

Grüße,
proximus.
J.R. Proximus

RANG Prophet of Clanintern

#2 - 18.05 10:07

ah, grad in den php.net user contributed notes gefunden:

PHP-code:
<?php
header
('Refresh: 3; url=index.html');
?>


damit ist mein problem schon gelöst! :-)
horst

RANG Prophet of Clanintern

#3 - 18.05 13:11

Was meinst du was der Befehlt macht ....
J.R. Proximus

RANG Prophet of Clanintern

#4 - 18.05 13:52

hm, ich ahne schlimmes: er ist nichts anderes als der meta-tag? :-/
hättest du denn evtl. eine alternative parat?
vaest´ark // patrick *ich bin hier nicht der depp*

RANG Master of Clanintern

#5 - 18.05 13:57

nur so am rande, aber header("Location: [...];") ist auch client-seitig.

serverseitige weiterleitungen gibt es nicht (zumindest nicht in diesem zusammenhang).

folgende möglichkeiten hast du:
a) vor/zurück-buttons
b) javascript (ohne neu-laden der ganzen seite)
c) meta-tag
d) flash (oder ähnliches, java ginge auch).

ich würd eine kombination aus a) und b) wählen, leute die 3v1l-j4vasr1pt ausschalten haben hübsche bildergalerien nicht verdient.
horst

RANG Prophet of Clanintern

#6 - 18.05 14:26

ack