HTML Seite zeitgesteuert ändern?

maddoccc

Lieutenant
Registriert
März 2009
Beiträge
562
Hi Leute.

Kenne es von Joomla das man veränderungen der Seite auch zeitgesteuert machen kann. Funktioniert das auch irgendwie anders.

Habe ein Hostingpaket bei Strato ohne SQl. Die Seite selber ist in HTML/CSS programmiert. PHP läuft auch auf dem Server.

Es geht halt darum zu einer gewissen zeit die index.html zu tauschen oder da ein stück code heraus zu nehmen damit der Termin der abgelaufen ist verschwindet.

Was habe ich da für Möglichkeiten??

Gruß Maddoc
 
Naja gibts sicher verschiedene Möglichkeiten....
Z.B. mit nem kleinen PHP Script... einfach die aktuelle Zeit Abfragen und dann mit dem Zeitpunkt vergleichen, den du als Änderungstermin haben willst...
Solangs vorher ist lädts index.html, danach index1.html... oder was auch immer
 
@crys
Gehts da um ne einzelne PHP Datei, oder muss ich die gesamte Seite in PHP Scripten oder nur die Startseite. Wäre schön wenn du etwas genauer werden könntest.

@znrl
wie sieht das Script aus und gehts auch das ich die kopierte index1 zur index mache da sonst die Seite ja nicht aufgerufen werden kann...

Gruß Maddoc
 
Zuletzt bearbeitet:
Nein da reichen nen par Zeilen in der Datei... du kannst aber auch ne extra Datei mit dem PHP code machen und dann in die jeweiligen Dateien, wo du das brauchst includen

Es kann höchstens sein, dass du die Datei als .php speichern musst, oder du den Webserver dazu bringen musst auch .html Dateien durch den PHP Parser zu jagen... das musst du testen

edit: Ich würde nicht die index- Datei tauschen... sondern einen andern Inhalt in die Index Datei includen... damit änderst du den Namen nicht...
Bei mir sieht das z.B. so aus:
Ich habe eine Index Datei in der fast nur PHP include Befehle stehen...
Da wird dann die navigation included, die nav.php heißt... aber so nie von den Besuchern aufgerufen wird...
und es wird der Inhalt aufgerufen, je nachdem welchen internen Link der Besucher anklickt.. im Grunde verlässt er die index.php bei mir nicht...
Die Adresszeile wird dann über Mod Rewrite geändert, damit es aber so aussieht
 
Zuletzt bearbeitet:
Konfus :freak:

Klingt sehr kompliziert. Was wäre die einfachste Lösung für mich? Das mit der einzelnen PHP Datei klang gut. Nur die Frage was steht drinnen und wie bekommt der Server mit wann die Seite gewechselt wird bzw. wie wird die PHP Datei aufgerufen??
 
Im Grunde wird das PHP script immer mit ausgeführt, wenn die Seite aufgerufen wird...
Wird die Seite aufgerufen, wenn der zeitpunkt überschritten ist wird etwas anderes ausgegeben.

Was genau willst du denn tauschen?
Ist das nur ein Text, den du ändern/weg/dazu machen willst oder willst du die Komplette Seite inklusive Design oder was auch immer ändern?
Soll das einmalig sein? nach überschriten der Zeit für immer... oder willst du zu gewissen Uhrzeiten was anders haben?

Beschreib das mal ein bischen... steht da was über irgend ein Ereignis, das in nen paar tagen ist und wenn das dann rum ist solls automatisch von der Seite?
Sind das sehr viele Sachen also ne ganze Liste die zu unterschiedlichen Zeitpunkten weg müssen... oder ist das immermal wieder nen einzelnes?
 
Nee. Ist nicht viel. Es handelt sich um eine Clubseite die so 2 Mal im Monat eine Veranstaltung durchführt.

Auf der Startseite befinden sich nur Buttons. Die werden dann zu den eigentlichen Veranstaltungsseiten weitergeleitet wo die Flyer und etwas Text zu finden ist.

Im Grunde genommen muss nur "<br /><a href="irgendwas"><img src="irgendwas" width="466" height="132" /></a><br />" entfernt werden.

Hier könnt ihrs euch mal anschauen. Quasi nächste Veranstaltung am 7.5. die ich gerne am 8.5 automatisch von der Startseite entfernt hätte.

http://www.cocktail-z.de/index.html
 
Also mal schnell was geschrieben:
Code:
<?php

	$datum=date("Y-m-d");   // aktuelles Datum im Format 2011-04-27  funktioniert hier nur so
	$datumereignis="2011-04-29";   // das Datum gibts du in dem Stil hier ein.. einfach ändern bei neuem Termin
	$zeitbis=bcsub(strtotime($datumereignis),strtotime($datum));  // hier wird sozusagen das eine Datum vom andern abgezogen...
	
	if($zeitbis<0)   // ist der Termin schon rum kommt der Text
		{
		$textaufwebsite="Zur Zeit sind keine Termine bekannt.";
		}
		elseif ($zeitbis>=0)   // ist der Termin heuto oder kommt erst noch kommt der Text
		{
		$textaufwebsite="<p>N&auml;chster Termin am Montag den... beliebiger Text.</p> <br /><a href=\"irgendwas\"><img src=\"irgendwas\" width=\"466\" height=\"132\" /></a><br />";
		}
	else   // zur sicherheit falls du kein Datum drin hast oder so kommt das
		{
		$textaufwebsite="Zur Zeit sind keine Termine bekannt.";
		}
	
	echo ($textaufwebsite);  // das hier ist die Ausgabe
?>

Also das was den Variablen zugeordnet ist also nach $textaufwebsite= "hier drin" kannst du anpassen... da schreibst du ganz normal html+Inhalt und sowas rein nur musst du " mit \" versehen, damit sie nicht als Ende angesehen werden, also nur das erste und letzte " bleiben so, alle zwischen drin z.B. bei href=\" musst du mit \ versehen... wie ichs im Beispiel oben schon gemacht habe...

Füg das mal auf der Website ein, änder den Text und änder dann das Datum ($datumereignis) mal in nen Datum vor heute, heute und in nen paar Tagen und Teste das ganze.

Also du fügst bei $textaufwebsite unter elseif ($zeitbis>=0) alles ein was dann verschwinden soll...

Das ist natürlich nicht unbedingt die allerbeste Methode aber es sollte so erstmal funktionieren und ist recht einfach...
edit: das ganze kommt einfach in deine index.html an die Stelle, dann der das kommen soll...
 
Zuletzt bearbeitet:
Es bringt dir leider nichts das so einzubauen wie du es vor hast, weil du trotzdem noch die Datei immer wieder umschreiben musst. Dann lieber etwas mehr Arbeit reinstecken und das ganze in einer TXT-Datei im Format "datum;bannerlink;flyerlink" abspeichern und die Termine von da einlesen. Dann kannst du alte Termine beim Aufruf direkt rauslöschen lassen und mit einer kleinen Adminseite kannst du auch einen neuen Termin eintragen und den Banner und Flyer hochladen, ohne dass du auf dem FTP und im Quelltext rumfummeln musst. Nochmal einfacher wäre natürlich eine SQL Datenbank, aber ich schätze mal die hast du nicht dabei bei deinem Webspace.
 
Nee habe ich nicht. Ist schon in Ordnung das Coden, so ein Backpage Bereich benötige ich eigentlich auch nicht. Da ich in Dreamweaver Code nützt mir glaub ich die PHP Seite auch nicht viel denn diese kann ich ja nur genau auf dem Server bearbeiten oder mittels Apache umständlich mit dem Browser. Ist mir dann aber echt to Much aufwand. Am liebsten wäre es mir Seite 1 mit Seite 2 überschreiben und Seite 2 in Seite 1 umbenennen da index.html
 
Naja du kannst natürlich mit nem code, wie oben auch statt der ausgabe echo() ein rename() oder so starten.
Oder was dem ähnlich käme...
du erstellst eine Datei pro Event, in dem nur das HTML schnispel des Events ist...
statt dass du dann, wie bei meinem code die Variable $textaufwebsite mit nem text austattest machst du include($_SERVER['DOCUMENT_ROOT']."/event1.html"), wenn das Datum drüber ist machts das eben einfach nichtmehr...
 
Du könntest deinen Hoster fragen ob er so nett ist einen Cronjob für dich einzurichten, der jeden Tag um 0 Uhr die Datei index2.html über die index1.html kopiert. Dann musst du nur im Laufe des Tages die jeweils für den nächsten Tag passende index2.html neu hochladen und fertig.
 
@Znrl
Also mit richtig PHP wollte ich die Seite nicht gestalten. Soll auf jeden Fall HTML bleiben mit max. etwas PHP Code der sich nicht groß verändert.

Ja, hatte heute schon Strato geschrieben was die für eine Idee haben. Aber wie wäre es damit. Eine PHP Datei zu erstellen mit der Abfrage mit dem Datum hat und wenn das Datum überschritten ist das es die index1 zur index umbenennt ohne rückfrage??? Klingt simpel für mich..
 
Zuletzt bearbeitet:
Im Grunde würde das wohl gehen.. du musst eben die PHP Datei aufrufen... also entweder da das Rename Script in die HTML Datei reinschreiben oder includen.
Nur will mir das nicht rechts gefallen^^
Ich Probier nochmal was anderes:
Code:
<?php

	$datum=date("Y-m-d");   // aktuelles Datum im Format 2011-04-27  funktioniert hier nur so
	
	$eventloc="events/";  //der Ort an dem die Event html Dateien sind
	$eventfiles=array_slice(scanDir($eventloc), 2);   // liest die Files ein; die Files haben den Namen im Stil: 2011-04-27.php  pder .html ist egal
	
	foreach ($eventfiles as $event =>$eventdate)   // Schleife die automatisch alle eingelesen Event-files abarbeitet
	{
	list ($datumereignis, $end) = explode(".", $eventdate);
	$zeitbis=bcsub(strtotime($datumereignis),strtotime($datum));  // gleiche Rechnung wie letztes mal
		if ($zeitbis>=0 && file_exists("events/".$eventdate))
		{
		include("events/".$eventdate); // Die passenden Files werden untereinander eingelesen
		}
	}

?>

Das heißt du hast für jedes Event eine eigene Datei im Ordner "events".
Die Datei besteht dann nur aus der "einen" HTML Zeile für das event also:

<br />
<a href="lichterfest11.html"><img src="grafiken/startseite/Lichterfest.jpg" width="466" height="132" alt="Lichterfest" /></a><br />

Dann kannst du einfach bei nem neuen Event son Teil erstellen und hochladen... und des alte bei Gelegenheit mal löschen.

Wenn du so nen Trenner, wie das mit dem "Juni" drin haben willst schreibst du des einfach mit in die Datei des ersten Events im Juni.

vtl. kann man noch ne Sicherheitsüberprüfung machen... damit nur Dateien eingelesen werden die man in ner Liste hinterlegt oder so...
Was da "Hackermöglichkeiten" angeht kenn ich micht nicht so aus... include ist ansonsten mit Vorsicht zu genießen.. vorallem aber wenn man Werte mit GET aus der URL übernimmt... hier dürfte das nicht so das Problem sein, wenns keine Upload möglichkeiten und so gibt...
 
Zuletzt bearbeitet:
Zurück
Oben