Tag zusammen!
Ich hab heute schon wieder ein großes php "Problem".
Meine Seite ist ein weblog ( php, sql - keine Fertiglösung, alles selbstgeschrieben
)
Die Hauptseite, wo die blogs angezeigt werden, beginnt folgendermaßen :
if(!isset($_GET['ap'])) { $ap=0; }
else { $ap=$_GET['ap']; } |
Die Variable
ap ist dafür zuständig, bei welcher Blog ID er jeweils beginnt, da ich nur 3 Blogs pro Seite ausgebe.
Unter jedem Blog steht die Amzahl der bisherigen Kommentare als Link, um zu den Kommentaren zu kommen und selbst einen zu verfassen.
Wenn ich jetzt in die Adresszeile folgendes eingebe...
www.meinedomain.de/ordner1/meinblog.php?ap=0
...dann steht bei der Ausgabe
immer die
exakte Anzahl der Kommentare zum jeweiligen Artikel, genau so - wie sie gerade in der Datenbank sind.
Wenn ich die Adresse aber
so eingebe :
www.meinedomain.de/ordner1/meinblog.php
..also
ohne der Variablen, dann arbeitet das Skript zwar fehlerfrei und gibt der Variablen ap, die ja in dem Fall jetzt nicht übergeben worden ist, den Wert 0. ( siehe obigen Code )...
...aber JETZT zeigt er unter jedem Artikel nicht die wahre Kommentaranzahl, sondern immer eine etwas kleinere. Ich vermute, das hat was mit dem Cacheverhalten zu tun.
Ich weiß schon, daß ich da mit einer meta-Angabe auch was machen könnte, aber erstens funktioniert das nicht immwer bei jedem Browser und zweitens will ich nicht, daß meine Gäste jedes mal alle Bilder neu laden müssen - und die würden ja bei Cacheverbot auch jedes mal neu geladen werden.
Ich verstehe einfach nicht, wieso er nicht sowieso
immer die richtige Kommentaranzahl schreibt. Immerhin kommt er zu der Zahl ja, in dem er zur Datenbank Verbindung aufnimmt, alle Kommentare mit der entsprechenden Blog ID zählt und diese Zahl dann ausgibt.
Das Cache-Verständnis fehlt mir sowieso. Geparst wird doch serverseitig und nicht clientseitig. Müßte er da die php-Sachen nicht sowieso IMMER vom Server nehmen? Und selbst, wenn nicht ( was ich mir dann aber technisch nicht vorstellen kann ) ...bei der Abarbeitung des Skripts wird ihm gesagt, er soll die Datenbanksätze zählen und somit müßte es auch in dem Fall immer aktuell sein. *seufz*
Und noch
weniger verstehe ich, wieso er es so tut, wie ich es erwarte, wenn ich die Variable mitübergebe und wieso nicht, wenn ich das nicht tue. Immerhin ist in
beiden Fällen gleich zu beginn der Abarbeitung des Skripts die Variable gesetzt.
*ganz verzweifelt bin*
Rossi