Ich habe folgendes Problem:
Ich möchte über php eine Funktion schreiben die in einer Schleife verschiedene Seiten aufruft, dann dort 30 Sekunden wartet und die nächste aufruft.
Wie kann man so etwas realisieren?
Mit einer for schleife?
Und wie macht man die Wartepause?
Den Code zum auslesen hab ich schon der funktioniert auch ...
Mein Anfang:
for($i=1;$i<=100;$i++) {
showpost.php?id=$i // welchen befehl muss ich nehmen damit der auf die seite connectet?
// in nem andern frame beispielweise oder so?
// code zum auslesen
sleep(30); // geht das so?
}
penizillin
21-05-2006, 18:32
du hast doch nicht etwa vor, ein ranking-system/counter/sponsor/o.ä. zu betrügen? ich verstehe sonst nicht, welchen sinn das haben soll.
was soll das werden? so 'n autosurf-dingsbums? wenn ja, nimm javascript und eine frameset.
nein ich möchte in meinem forum die posts aufrufen und guckn was geschrieben wurde un die dann wo anders ausgeben wenns was neues gibt
penizillin
21-05-2006, 18:35
das ist aber bei weitem nicht der beste weg.
du kannst doch wohl auf die datenbank zugreifen, in der das forum die posts speichert?
und das kannst du nicht mit einem zugriff auf die DB?
Und wieso 30 sek?
dann halt 10 sek oder eine sekunde das ja egal, nur so oft wird eh nix geschrieben
hm über db -.- da komm ich nich ran :/ bin ja nich der admin des forums sondern nur son kleiner mod ^^ glaub ned das mir der admin die db daten gibt.
also was genau willst du jetzt machen?
nur checken ob was neues gepostet wird?
den inhalt irgendwo anzeigen/speichern?
...?
penizillin
21-05-2006, 18:41
dann wirst du höchstwahrscheinlich genauso wenig an die daten rankommen dürfen...
also ich hab das jetzt so gemacht:
mit javascript
<script>
for (var i = 1; i <= 1000; i++) {
window.location.href = 'showpost.php?id=' + i;
}
</script>
// code zum auslesen
nur wie mach ich das wenn das in dem andern frame passieren soll?
dann musst du den frame ansprechen, nicht das eigene fenster (window).
einfach den namen des frames dahin? mehr nich? :rolleyes:
eine frage, die es nicht wert ist, gestellt zu werden.
statt dessen hätte ich ein "klappt" oder eine Fehlermeldung erwartet.
hm also nochma ich ..
hab das jetzt nen bissel getestet un mich für ne andere variante entschieden ...
<head>
<script type="text/javascript">
function NaviFenster() {
auffenster = window.open("auf.html", "auffenster", "height=200,width=300");
auffenster.focus();
i = 1;
losgehts();
}
function losgehts() {
auffenster.location.href = 'showpost.php?id=' + i;
document.write(i);
i++;
setTimeout("losgehts()",1000);
}
</script>
</head>
<body onload="NaviFenster()">
<h1>bla</h1>
</body>
</html>
nur irgendwie gehts nicht :D
der öffnet das popup, dann zeigt der im fenster den ersten post an, durchläuft einmal die schleife schreibt dann die 1 hin (wegen document.write) un dann kommt javascript fehler:
Zeile 1
Zeichen 1
Objekt erwartet
muh (newbie)
21-05-2006, 19:39
Mit document.write(i) ersetzst du den Quellcode. Schon das bla wird nicht angezeigt.
Folgendes geht, aber vielleicht gibt's was besseres:
liste.innerHTML += i; // anstatt document.write(i);
<div id='liste'></div> // zusätzlich.