Cookies Image Change aber wie ?

sterndi

Erfahrenes Mitglied
Hey leute ich hab mich schon oft gefragt wie ich per Cookie ein Bild ändern kann z.b ich wähle ein bild aus das wird per cookie gespeichert und bei jeden homepage aufruf wir das bild wiedergegeben solange er den cookie besitzt
 
Hallo,

das geht eigentlich ganz einfach. Du brauchst nur nur jeweils ein Funktion die das Cookie setzt und eine die das Cookie ausliest... Ich hab dir mal ein Bespiel geschrieben:
PHP:
function cookie_setzen(img)
{
  // Verfallsdatum setzen
  var end = new Date();
  
  // Bei jedem Besuch verlängert sich die "Haltbarkeit" um einen Tag
  var temp = end.getTime() + (1 * 24 * 60 * 60 * 1000); 
  end.setTime(temp);
  
  // Cookie schreiben
  document.cookie = "Pic="+img+"; expires=" + end.toGMTString();
  alert("cookie wurde gesetzt");
}
diese Funktion wir mit einem z.B. onClick Handler auf ein Image gelegt. Die zweite Funktion würde dann so aussehen...
PHP:
function cookie_lesen()
{
  if(document.cookie)
  {
    // Cookie auslesen
    var img = document.cookie;
 
    // Cookie bearbeiten
    var begin = img.indexOf('=');
    var length = img.lenght;
    img = img.substring(begin+1,length);
    document.demo.src = img;
  }
  else
  {
    // Standardbild laden
    document.demo.src = 'http://www.24help.info/images/dot.jpg';
  }
}
Diese Funktion wird zu Begin - also OnLoad - aufgerufen. Schau dir den Anhang an, da ist ein "komplettes" Beispiel incl HTML...


ciao


PS: Anhang einfach in *.html umbenennen...
 

Anhänge

danke

danke für deine antwort dieses script.

ein kleines problem hab ich allerdings noch *G* und zwar er schreibt mir bei der ausgabe Pic= und den inhalt net cookie ist aktiv hoffe du kannst mir da helfen

MFG Christian Binder
 
Zuletzt bearbeitet:
Hallo,

hab deinen Code durchgeschaut, und hier die Lösung - es war nur eine Kleinigkeit :)

Du schreibst:
Code:
  document.cookie = "+img+"; expires= + end.toGMTString();
das würde jetzt +img+ in das Cookie schreiben (also genau diesen Text). Img ist aber die Variable, die ausgelesenen werden soll. Richtig ist dann
PHP:
document.cookie = img+"; expires=" + end.toGMTString();
Da du zudem den "pic=" Bezeichener weglässt, musst du noch follgende Zeile anpassen:
Code:
img = img.substring(begin+1,length);
ändern in
PHP:
img = img.substring(begin,length);

dannach sollte es funktionieren...

bye
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück