PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kann man sowas mit php realisieren?


Wiggum
02.03.2002, 15:22:27
Hi!

Ich habe eine html-Seite erstellt, die eine Tabelle enthält, deren Inhalt sich nach jedem Aufruf der Seite ändern soll.

Wenn also ein Besucher die Seite aufruft, soll in der Tabelle der HTML-Quelltext #1 angezeigt werden, beim nächsten Aufruf dieser Seite der HTML-Quelltext #2 und beim dritten Aufruf der HTML-Quelltext #3. Danach solls wieder von vorne losgehen.

Kann man sowas mit php machen (kenne mich mit php absolut nicht aus)?

Bisher habe ich folgende Dateien:

Die Startseite mit der Tabelle: test.php

<html>
<body>
<br>
<table border="1" width="60%" align="center">
<tr><td>HIER SOLL DER INHALT REIN, DER SICH ÄNDERN SOLL</td></tr></table>
</body>
</html>

Und dann habe ich noch die drei Textdateien mit den verschiedenen HTML-Quelltexten.

1.txt: <font color="#000100">Hallo 1</font>
2.txt: <font color="#000200">Hallo 2</font>
3.txt: <font color="#000300">Hallo 3</font>

Wäre toll, wenn mir jemand dabei helfen könnte.

Vielen Dank,
Wiggum

Matthias
02.03.2002, 19:21:11
Jep das geht. Das Problem ist das du es mit Cookies realiesieren mußt. Denn du mußt den Besucher ja identifizieren können. Cookies werden aber nicht mehr von jedem User zugelassen.


<?PHP
if(!$besuch || $besuch==3) $besuch=1;
elseif($besuch<=3) $besuch++;
setcookie("besuch",$besuch,time()+2592000);
?>
<html>
<body>
<br>
<table border="1" width="60%" align="center">
<tr><td><?PHP include("$besuch.txt"); ?></td></tr></table>
</body>
</html>


So funktioniert es.

Matthias

Wiggum
02.03.2002, 19:35:31
Erstmal vielen Dank für Deine schnelle Antwort :-))

Die Besucher müssen die Inhalte nicht unbedingt der Reihe nach präsentiert bekommen. Es wäre also auch OK, wenn z.B:

Besucher 1 -> Inhalt 1
Besucher 2 -> Inhalt 2
Besucher 1 -> Inhalt 3
Besucher 3 -> Inhalt 4
Besucher 3 -> Inhalt 5
und dann wieder von vorne
Besucher 4 -> Inhalt 1
Besucher 2 -> Inhalt 2
usw.

Auf diese Weise könnte ich auch auf die Cookies verzichten.

Welchen Code muß ich dann einfügen?

Schonmal vielen Dank im voraus,
Wiggum

Matthias
02.03.2002, 20:06:57
Nochmal Hallo.

wenn die Reihenfolge keine Rolle Spielt, dann mach es doch nach Zufall:


<?PHP
mt_srand((double)microtime()*1000000);
$besuch=mt_rand(1,5);
?>

1:= Inhalt 1
5:= letzter Inhalt je nach bedarf ändern.

Ne andere Möglichkeit wäre is in eine Datei auf dem Server zu speichern.


<?PHP
$fp=@fopen("besuch.txt","r");
$besuch=fgets($fp,5);
fclose($fp);
if(!$besuch || $besuch==3) $besuch=1;
elseif($besuch<=3) $besuch++;
$fp=@fopen("besuch.txt","w");
fputs($fp,$besuch);
fclose($fp);
?>

Du mußt die besuch.txt erstellen. Oder beim ersten mal wenn du die Datei ausführst kommt ne Fehlermeldung. Aber nur beim ersten mal. Dann funktioniert es.

Matthias

Wiggum
02.03.2002, 22:30:49
Toll, es funktioniert (ich habe mich für die letzte Variante entschieden)! Du hast mir wirklich sehr geholfen! Vielen Dank!

Wiggum