könnte etwas Hilfe gebrauchen

jopeku

Grünschnabel
Hallöchen,

ich benutze relativ selten Javascript und begehe dort dann öfters Denkfehler :mad:

Also ich möchte auf dem Server regelmäßig eine php Datei ausführen.

Dazu habe ich ein Script in eine Seite eingebunden.

<script type="text/javascript">

function nochmal () {
document.location.href = "schreiben.php";
}

window.setTimeout("nochmal()",10000);

</script>

Dieses Script soll also die Datei schreiben.php regelmäßig aufrufen.
Doch leider passiert das nur wenn ich die Datei aktualisiere in der
das Script steht.

Wo habe ich denn diesmal den Denkfehler?

danke jopeku
 
Moin,

setTimeout() bewirkt das einmalige, zeitverzögerte Ausführen einer Anweisung.
Um eine Anweisung wiederholt auszuführen, verwende setInterval()
 
Oh danke...

trotzdem wird das Script nur einmal ausgeführt bzw. kann der Cache
des Brwoser die Ausführung unterdrücken?
 
Befindet sich denn dieses Skript in der schreiben.php?

Falls ja, schreibe es mal so:
Code:
document.location.href = "schreiben.php?"+new Date().getTime();
 
Ja das habe ich ebenfalls schon probiert aber das Script
wird nur ausgeführt wenn ich die Seite manuell aktualisiere.
 
wenn sich das Skript wirklich in der schreiben.php befindet, und du alles bisher erwähnte probiert hast, dann ist anhand deiner Informationen nicht erkennbar, woran es liegt.
 
Alles klar das war mein Denkfehler... ohje

Das Script befindet sich in einer Datei die im Brwoser geöffnet wurde
und die Datei "schreiben.php" nur im Serververzeichnis.
Ich wollte einen cronjob simulieren, wobei praktisch die php Datei aufgerufen
wird und die Befehle abgearbeitet werden.

Wenn ich das Script in die Datei "schreiben.php" einbinde und diese lade
klappt es natürlich.

Also kann man einen serverseitigen Job so nicht nachbilden..... das ist nicht gut

danke für die Hilfe habe wieder was gelernt.
 
Naja....solange die Datei, welche das Skript beinhaltet, im Browser geladen ist, kann man das schon damit simulieren....das ist aber das Problem bei deinem Skript:
sobald es ausgeführt wird, ist es weg, weil stattdessen die schreiben.php im Browser geladen wird.

Wenn es nur darum geht, dass serverseitig etwas passiert, es für den Clienten aber unwichtig ist, was dort passiert, kannst du es so machen:
Code:
<script type="text/javascript">

function nochmal () {
x=new Image();x.src='schreiben.php?'+new Date().getTime();
}

window.setInterval("nochmal()",10000);

</script>
 
Zurück