WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Cachverhalten bei php Seite » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von Philipp Gérard
Mit dem Cache hat es nichts zu tun, soviel zu deiner Beruhigung. Aber mit dem bisschen Code kann ich dir auch nicht verraten, woran es liegt. An $ap nicht.
von HerrRossi
Hi!

Ich glaub, Du hast mein Problem nicht verstanden.

Ich weiß, was isset bedeutet, sonst hätt ich`s ja nicht so programmiert. *g*

Natürlich ist 0 auch eine Variable. Die ganze Sache funktioniert ja eh. Wenn sie übergeben wird, nimm er sie mit $_GET und wenn sie nicht übergeben worden ist, stellt er sie auf 0.

Aber das ist ja auch nicht mein Problem.

Was mich bedrückt ist, daß er die Werte richtig berechnet und ausgibt, wenn die Variable übergeben worden ist und offensichtlich ein Ergebnis aus dem Cache benutzt, wenn die Seite ohne der Variablen aufgerufen wird.

Rossi

von Andreas S
Also, isset($_GET['ap']) überprüft ob die variable $_GET['ap'] überhaupt gesetzt ist (is set) und das ist der Fall, selbst bei ap=0. Besser wäre es vielleicht es so zu machen:

1:
$ap = (isset($_GET['ap']) == true && intval($_GET['ap']) > 0) ? $_GET['ap'] : 0;


Hier wird überprüft ob $_GET['ap'] gesetzt ist und ob $_GET['ap'] grösser ist als 0.
Vielleicht löst das schon dein Problem....
von HerrRossi
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

Nach oben