• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Bilder aufgrund von Wert im Cookie austauschen lassen.

SaFl

Neues Mitglied
Moin Moin liebe Gemeinde.

Es ist mein erster Eintrag und direkt habe ich ein großes Problem:
(Falls ich im falschen Topic bin, bitte nicht übel nehmen, ich weiss mein Problem nicht einzuordnen :))

Ich habe eine Bildergallerie, in der mehrere Alben vorhanden sind. Nun möchte ich, dass wenn in einem Album neue Bilder vorhanden sind, dass das Album ein anderes Bild bekommt (Mit dem Text "neue Bilder"). Nun such ich nach einer Lösung, wie ich das aktuelle Datum des Besuches in einem Cookie speichern kann, und wie ich dieses dann auslesen und mit dem neuen vergleichen kann, sodass das Bild dann dementsprechend geändert wird. Ich habe mich schon mit Cookies beschäftigt, bin aber nicht soweit durchgestiegen, dass es mir helfen kann.

Oder habt ihr noch eine bessere Lösung?

Vielen Dank Schonmal

Thomas
 
Pure HTML/CSS. Ich könnte mir vorstellen die Bilder der Alben per php laden zu lassen, ich denke damit lässt es sich einfacher austauschen?!
 
Ein gedanklicher Ansatz in JavaScript (nicht überprüft):

Du erzeugst einen Cookie und übergibst ihm als Wert den aktuellen Timestamp. Dieser muß von dir bei Änderungen in den Alben natürlich aktualisiert werden. Ich würde dafür jQuery und das cookie Plugin installieren. Damit geht es einfacher.

Cookie erzeugen:

Code:
var foo = new Date().getTime();

$.cookie('pictures', foo, {expires: 365});

Überprüfen, ob der User seit der letzten Aktualisierung Online war:
Code:
 var bar = $.cookie('pictures');

 if (bar == undefined || bar != foo) {
      // tausche ein Bild aus
      $('#mydiv').attr('src', 'newimage.jpg');
  }
 
Ja, das ist ein guter Ansatz, (danke dafür) den ich jetzt auch in php schon umgesetzt habe. Ich speicher das aktuelle Datum des Besuches im Cookie, lese ihn beim erneuten Aufrufen aus und vergleiche das Datum. Das klappt soweit auch, die Frage bleibt noch, wie ich denn die Bilder per php verändern kann. Desweiteren ist mir noch ein kleiner Denkfehler unterlaufen, ich muss ja auch noch einen Wert festlegen, der vorgibt, welches der Alben sich inhaltlich verändert hat, oder? Wäre ich mit einer DB da nicht besser beraten? Es soll für mich ja auch kein Riesenaufwand werden, neue Bilder upzuloaden.
 
Das sollte kein großes Problem sein, PHP erzeugt ja HTML. Sofern du die Bilder bisher noch nicht aus einer DB beziehst, sondern direkt in das HTML schreibst, ersetze einfach das source Attribut des entsprechenden Bildes durch eine Variable, deren Wert über das Cookie in einer Kontrollstruktur festgelegt wird.
 
ersetze einfach das source Attribut des entsprechenden Bildes durch eine Variable

das verstehe ich ja noch, aber was meinst du mit Kontrollstruktur festgelegt wird?

Edit: Wäre es sinnvoller die Bilder aus einer DB zu beziehen? Wo liegen da die Vorteile/Nachteile?
 
Zuletzt bearbeitet:
Eine einfache IF-Abfrage. Wenn die Cookie-Werte übereinstimmen, entspricht die Variable image_a, ansonsten image_b.

Das Beziehen der Bilder über eine Datenbank macht zu Beginn zwar mehr Arbeit, erspart anschließend aber den Verwaltungsaufwand beim Aktualisieren und reduziert die Fehlerquellen. Struktur, Inhalt, Gestaltung und Funktionalität einer Website sollten strikt getrennt werden. Im Idealfall stehen innerhalb der HTML-Struktur lediglich Tags und PHP-Anweisungen, und statt wenigen großen Dateien hat man eine Anzahl kleiner übersichtlicher Module.

Sofern du eine DB verwenden willst und dich mit PHP schon etwas auskennst, schau dir doch mal das ZF an:

Zend Framework
 
Zurück
Oben