InternInhaltsverzeichnisGlossarBausteineLinklisteTutorialsKommentare

Thema: PHP Sessions (Sitzungen) und Cookies Artikel anzeigen

tommy schrieb am Donnerstag, den 2 September 2021 #1
hallo
ich betreibe den et chat

wenn ich die farben merken möchte die gewählt wurden damit beim nächsten login diese automatisch gewählt wird
wie gehe ich da vor?

hat da jemand n tip für mich?

grüße tommy
Werner schrieb am Donnerstag, den 2 September 2021 #2
Die einfachste Möglichkeit ist es diese Farbe in der Datenbank beim jeweiligen Benutzer zu speichern.

Eine andere Lösung wäre mit JavaScript und LocalStorage.
Ich habe dazu vier Beispiele auf meiner Website gefunden:

» werner-zenk.de/scripte/localstorage.php
» werner-zenk.de/javascript/die_position_eines_schiebereglers_speichern_und_auslesen.php
» werner-zenk.de/css/tag_und_nachtmodus_fuer_webseiten.php
und » werner-zenk.de/scripte/todo-liste_mit_javascript.php
tommy schrieb am Freitag, den 3 September 2021 #3
hallo
ich habe bei mir folgendes gefunden

in meiner chat.tpl.html:

<input type="hidden" name="room" id="room" value="1" />
<input type="hidden" name="privat" id="privat" value="" />
<input type="hidden" name="bold" id="bold" value="normal" />
<input type="hidden" name="italic" id="italic" value="normal" />
<input type="hidden" name="color" id="color" value="#<?php echo $_SESSION['etchat_'.$this->_prefix.'textcolor']; ?>" />

und in meiner chat.js:

Diesen Beitrag vollständig anzeigen//Lade Fensterinhalt zum Darstellen des Farbenfensters
new Ajax.Request("./?Colorizer",{onSuccess:function(result){self.win_color_content=result.responseText;}});

$('message').style.color = "#"+self.textcolor;

//Click auf Color-Icon
$("link_color").onclick = function(){

// Wenn das Fenster noch nicht existiert, muss es erzeugt und befuellt werden
if (typeof self.win_color!="object"){
self.win_color = new Window({className: self.win_style, title:"Schriftfarbe und Schriftart", width:350, height:250, top:eval(self.mouse_top-360), left:eval(self.mouse_left-185), resizable: false, showEffect:Effect.Appear, hideEffect: Effect.Fade, showEffectOptions: {duration:0.5}, hideEffectOptions: {duration:0.5}, draggable: false, minimizable: false, maximizable: false, destroyOnClose: false, opacity: 1});
self.win_color.setHTMLContent(self.win_color_content);

//(Start) Font Art auswaehlen und in hidden-Inputs eintragen --------------------
$("kursiv").onclick = function(){
$("italic").value = ($("kursiv").checked) ? "italic" : "normal";
$('message').style.fontStyle = ($("kursiv").checked) ? "italic" : "normal";
}
$("fett").onclick = function(){
$("bold").value = ($("fett").checked) ? "bold" : "normal";
$('message').style.fontWeight = ($("fett").checked) ? "bold" : "normal";
}
//(Stop) Font Art auswaehlen und in hidden-Inputs eintragen ---------------------

// Startfarbe des Textes
var r = self.textcolor.slice(0,2);
var g = self.textcolor.slice(2,4);
var b = self.textcolor.slice(4,6);

//(Start) Init Slider zum RGB-Mischen ------------------------------
var slider_red = new Control.Slider('handle_red', 'track_red', {
onSlide: function(v) { /* Nix */ },
onChange: function(v){
r = dec2hex(v*255);
$('message').style.color=$('color').value=$('farbenvorschau').style.backgroundColor="#"+r+g+b;
}
});
var slider_green = new Control.Slider('handle_green', 'track_green', {
onSlide: function(v) { /* Nix */ },
onChange: function(v){
g = dec2hex(v*255);
$('message').style.color=$('color').value=$('farbenvorschau').style.backgroundColor="#"+r+g+b;
}
});
var slider_blue = new Control.Slider('handle_blue', 'track_blue', {
onSlide: function(v) { /* Nix */ },
onChange: function(v){
b = dec2hex(v*255);
$('message').style.color=$('color').value=$('farbenvorschau').style.backgroundColor="#"+r+g+b;
}
});
//(Stop) Init Slider zum RGB-Mischen -------------------------------

// Slider laut aktueller Farbe stellen
slider_red.setValue(hex2dec(r)/255);
slider_green.setValue(hex2dec(g)/255);
slider_blue.setValue(hex2dec(b)/255);

// ueberwachung des Klicks auf die Farbentabelle
Event.observe('farben_tab', 'click', function(event){
if(Event.element(event).id!=""){
// Farbe Hex in Dec umwandeln
var rd = hex2dec(Event.element(event).id.slice(0, 2));
var gd = hex2dec(Event.element(event).id.slice(2, 4));
var bd = hex2dec(Event.element(event).id.slice(4, 6));
// Slider entsprechend der Auswahl verschieben
slider_red.setValue(rd/255);
slider_green.setValue(gd/255);
slider_blue.setValue(bd/255);
}
} );
}

// Ist dass Fenster bereits sichtbar?
if($(self.win_color.getId()).style.display=='none'){
self.win_color.setLocation(eval(self.mouse_top-360), eval(self.mouse_left-185))
self.win_color.show();
self.win_color.toFront();
}
//else self.win_color.close();


}

leider fehlt mir da jede idee wo ich anfangen soll

grüße tommy
Werner schrieb am Freitag, den 3 September 2021 #4
So etwas muss auch getestet werden, ich kann dir nicht sagen füge das und das in Zeile X ein. Wenn du keine Ahnung von JavaScript hast, dann wird das schwer.