Timer für Weiterleitung

Hallo,

ich hab hier diesen Code gefunden:

[code]

var running = false
var endTime = null
var timerID = null
var totalMinutes = „<?php echo $_SESSION["dauer"]; ?>“;

function startTimer() {
running = true
now = new Date()
now = now.getTime()
endTime = now + (1000 * 60 * totalMinutes);
showCountDown()
}

function showCountDown() {
var now = new Date()
now = now.getTime()
if (endTime - now <= 0) {
clearTimeout(timerID)
running = false
alert(„Ihre Zeit ist abgelaufen“)
window.location.replace ( „/salinas/auswertung.php“ ) ;
} else {
var delta = new Date(endTime - now)
var theMin = delta.getMinutes()
var theSec = delta.getSeconds()
var theTime = theMin
theTime += ((theSec < 10) ? „:0“ : „:“) + theSec
document.getElementById(‚SessionTimeCount‘).innerHTML = "Verbleibende Zeit " + theTime
if (running) {
timerID = setTimeout(„showCountDown()“,900)
}
}
}[/code]

Und für die Stelle des Aufrufs im HTML-Dokument den Code:

<?php if($_SESSION['timer'] == "test") { echo ('<body onLoad="showCountDown();">'); } else { echo ('<body onLoad="startTimer();">'); } ?>

Doch ich will den oberen Code für eine Weiterleitung nutzen, damit z.B. da steht „Du wirst in XY Sekunden weitergeleitet“…

Kann mir einer erklären, wie das geht?

ich würde behaupten für deinen Zweck ist das Script viel zu aufwendig.

var to, timer, show, intval
function go(t,ti,s) {
  to = t
  timer = ti
  show = s
  intval = window.setInterval("countdown()",1000)
}
function countdown() {
  if(timer == 0)
    document.location.href = to
  document.getElementById(show).innerHTML = 'Sie werden in '+timer+' Sekunden weitergeleitet.'
  timer--
}

und dann im HTML so aufrufen:

<body onload="go('http://www.google.de',8,'anzeige')">
<div id="anzeige"></div>

Danke, funktioniert einwandfrei, aber hier nochmal für die Allgemeinheit:

[code]

[/code]

Also Link ist der Link, wo die Seite hinleiten soll, Sekunden die Anzahl von Sekunden, die vergehen soll, bis man weitergeleitet wird und der Name ist wichtig, damit das ganze Ding angezeigt werden kann, aber drauf achten, dass auch beides gleich ist, wenn ein Fehler drinnen ist, gehts nicht…

Kleine Erweiterung der Frage:
Wie kann ich das ganze zu einer unabhängigen URL machen (also mit PHP)?

Also: http://www.domain.de/pfad/name.php?url=to&from=from&name=name&sec=timer

to = URL, also wohin die Seite weiterleiten soll
from = von WO man weitergeleitet wird (Name oder URL)
name = Name der URL (URL selbst ist Variable to)
timer = in wievielen Sekunden weitergeleitet werden soll

Das ganze soll dann in fertiger Form so aussehen
Beispiel: http://www.domain.de/pfad/name.php?url=http://www.google.de&from=HTML.de&name=Google&sec=8
Beispiel 2: http://www.domain.de/pfad/name.php?url=http://www.html.de&form=Google&name=HTML.de&sec=643543764867

Also egal was man bei to oder timer eingibt, die Seite öffnet sich dann immer, versteht ihr mich?

Ich hab den obrigen Code mal umgeschrieben, dass im Text, der erscheinen soll, die Adresse steht.

<SCRIPT language="JavaScript">var to, timer, show, intval function go(t,f,n,ti,s) { to = t from = f name = n timer = ti show = s intval = window.setInterval("countdown()",1000) } function countdown() { if(timer == 0) document.location.href = to document.getElementById(show).innerHTML = 'Du wirst in '+timer+' Sekunden von '+from+' zu [B]'+name+'[/B] weitergeleitet!' timer-- }</SCRIPT>

Hierbei hab ich einfach nur die Variable ‚+name+‘ als Name hinzugefügt!
Der andere Code bleibt gleich (ich hab ein kleines Beispiel hinzugefügt):

[code]

[/code]

Was dann rauskommt ist: Du wirst in 8 Sekunden von HTML.de zu Google weitergeleitet!

Ich habs schon getestet, es geht…

klar, das geht so lange dein Webspace PHP unterstützt:

[PHP]

[/PHP]

So lange in der Url kein ’ vorkommt kannst du das teil dann so aufrufen
name_der_Seite.php?go=Zieladress&sekunden=wartezeit

Dann hast du doch aber oben oder unten nen fehler… isses jetzt go oder to für die Zieladresse?

Ich hab beides getestet, geht beides nich, igendwie…

http://timmer.ti.ohost.de/test.php?to=zieladresse&from=vonwo&name=namederurl&time=zeit oder
http://timmer.ti.ohost.de/test.php?go=zieladresse&from=vonwo&name=namederurl&time=zeit

???

öh sry ^^

?to=xx

natürlich ^^

Dann ist das doch aber auch in folgendem Code-Teil auch to oder?

[FONT=Courier New]window.onload = go[/FONT]

Ich teste das ganze mal mit to…

nein da bleibt es go, die Funktion in Javascript heißt ja go

Ja, hab den Fehler gefunden…
Hab das ’ vor und nach den PHP-Stellen vergessen, dadurch hat ers nich angenommen…

Hier zum Test: http://timmer.ti.ohost.de/test1.1.php?to=http://www.html.de&name=HTML.de&from=Timmer&timer=20

Das Ganze bau ich jetzt noch bissel aus und dann kann ich mich freuen und es wegschmeißen :smiley: nene, ab in die Sammlung damit, damit ich das ja nicht verlier :smiley: