PHP Script für Spruch der Woche

Zhen

Lt. Junior Grade
Registriert
Aug. 2009
Beiträge
299
Hallo Leute,
ich hätte da ne Frage. Es geht darum, dass mich ein bekannter gebeten hat für seine Website ein Script zu schreiben, wo jede Woche ein neuer Spruch eingeblendet wird.

Bisher hab ich folgendes geschrieben:

PHP:
<?php
	$tag = time();
	$tag = date(w, $tag);
	$spruch = 1;
	
	if ($tag == 4) {
		$spruch++;
		include("spruche/".$spruch.".txt");
	} else {
		include("spruche/".$spruch.".txt");
	};
?>

Aber es scheint nicht zu funktionieren! Der Spruch wird zwar eingeblendet (der erste) und wenn wir Tag vier der Woche (sprich Donnerstag) haben wird auch der zweite Spruch eingeblendet, aber sobald ich die 4 mit z.B. 5 ersetze, dann wird wieder der 1. Spruch eingeblendet.

Könnt ihr mir da vielleicht weiterhelfen?

Kann es sein, dass ich wirklich "warten" muss bis Donnerstag vorbei ist damit die Variable ihre Zahl speichert? Denn bisher habe ich ja nicht gewartet sondern die 4 einfach gleich durch 5 ersetzt im Code um zu gucken ob der 3. Spruch angezeigt wird!
 
$woche = date('W');
$spruch = file_get_contents('spruch/' . $woche . '.txt');

Fertig.

$woche enthült dann die Nummer der Eoche (Also 1 - 42). Für jede Woche muss halt ein Spruch gespeichert sein.

Wofür soll in deinem Beispiel spruch++ sein?
Da Variablen nur zur Laufzeit des Skriptes existieren, ist $spruch also IMMER 1. $tag == 4 wird nicht auftreten, da du date() falsch verwendet hast.
 
Ja es gibt insgesamt ca. 55 Sprüche deswegen.

Ich dachte dass die Variable auch später erhalten bleibt (hmm... sollte mich wieder mal reinsteigern da, nach 2 jahren pause vergiss man eben das ein oder andere =D ).

Aber was wenn ich jetzt z.B. 100 sprüche hab und will, dass diese dann jede woche sich ändern? Wie mach ich das dann, wenn die Variablen doch ihren Wert nicht behalten?
 
Könntest auch immer die erste Zeile nehmen und löschen wenn der Spruch abgelaufen ist.
Bedenke aber, wennn an dem Tag keiner deine Seite besucht wird der Spruch nicht gewechselt, also entweder von vornherein jeder Woche einen Spruch zuordnen oder in einer Datei speichern wann der aktuelle Spruch abläuft.
Oder, falls möglich, einen Cronjob anlegen, der einmal pro Woche den Spruch löscht.
 
Zurück
Oben