Community

9dots.de Webdesign Board

 

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 

 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 


session_set_save_handler();

 
Neues Thema eröffnen   Neue Antwort erstellen    9dots.de Webdesign Community Foren-Übersicht -> Coding-Tutorials
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ShortY
Mitglied
Mitglied


Angemeldet: 04.06.2004
Beiträge: 556
Wohnort: Herdorf
Interessen: Glaube, MTB, klettern, Musik(hören und machen), Computer

BeitragVerfasst am: 18.06.2005, 10:59    Titel: session_set_save_handler(); Antworten mit Zitat
nagut... is ja in letzer Zeit öfter des Sitchwort gefallen Sehr glücklich

denn poste ich mal meine Lösung zu dem "Problem":

Struktur in der DB:
Code:
CREATE TABLE %TAB_SESSIONS%
(
  sess_id varchar(255),
  sess_name varchar(255),
  ip varchar(255),
  touched int(11),
  created int(11),
  sess_data text,
  PRIMARY KEY  (sess_id)
)


sessions.php
Code:
<?
   global $sess_maxlife;
   $sess_maxlife = 3600;
   function open($path, $name)
   {
      global $sess_path, $sess_name, $sess_maxlife;
      $sess_path = $path;
      $sess_name = $name;
      gc($sess_maxlife);
      return(true);
   }
   function close()
   {
      global $sess_path, $sess_name, $sess_maxlife;
      gc($sess_maxlife);
      return(true);
   }
   function read($sess_id)
   {
      global $sess_path, $sess_name;
      $query = @mysql_query("SELECT sess_data FROM ".TAB_SESSIONS." WHERE sess_id = '".$sess_id."' AND ip = '".getenv("REMOTE_ADDR")."' LIMIT 1;");
      if(@mysql_num_rows($query) == 1)
      {
         $row = @mysql_fetch_assoc($query);
         return($row['sess_data']);
      }
      else
      {
         @mysql_query("DELETE FROM ".TAB_SESSIONS." WHERE sess_id = '".$sess_id."' LIMIT 1;");
         @mysql_query("INSERT INTO ".TAB_SESSIONS."(sess_id, sess_name, ip, created) VALUES('".$sess_id."', '".$sess_name."', '".getenv("REMOTE_ADDR")."', ".time().");");
         return "";
      }
   }
   function write($sess_id, $sess_data)
   {
      global $sess_path, $sess_name;
      @mysql_query("UPDATE ".TAB_SESSIONS." SET sess_data = '".$sess_data."', touched = '".time()."' WHERE sess_id = '".$sess_id."' LIMIT 1;");
      return(true);
   }
   function destroy($sess_id)
   {
      global $sess_path, $sess_name;
      @mysql_query("DELETE FROM ".TAB_SESSIONS." WHERE sess_id = '".$sess_id."' LIMIT 1;");
      return(true);
   }
   function gc($maxlifetime)
   {
      global $sess_path, $sess_maxlife;
      $max = min($sess_maxlife, $maxlifetime);
      @mysql_query("DELETE FROM ".TAB_SESSIONS." WHERE created + ".$max." < ".time().";");
      return(true);
   }
   session_set_save_handler('open', 'close', 'read', 'write', 'destroy', 'gc');
   gc($sess_maxlife);
   session_name("sid");
   session_start();
?>


in der index.php oder sonst wo, wo die sessions gebraucht werden sollen einfach die datei includen un gut... irgendwo sollte auch noch die Konstante "TAB_SESSIONS" definiert sein Winken aber dann kanns auch schon losgehen


Das ganze ist schon ein was älter also seht mir eventuelle Unschönheiten nacht Winken

das ganze funktioniert jedenfalls wunderbar
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Borstel
Mitglied
Mitglied


Angemeldet: 13.04.2005
Beiträge: 43


BeitragVerfasst am: 18.06.2005, 13:16    Titel: Antworten mit Zitat
Da ich jetzt nich so die Lust hab das Script durchzugucken wüsste ich gerne für welches Problem es die Lösung ist ! Winken
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
rey
Mitglied
Mitglied


Angemeldet: 24.07.2004
Beiträge: 810
Wohnort: Bad Homburg
Interessen: synth ;)

BeitragVerfasst am: 18.06.2005, 13:16    Titel: Antworten mit Zitat
Wikipedia (http://de.wikipedia.org/wiki/Tutorial) hat folgendes geschrieben:
Ein Tutorial (lat. tutor, schützen) ist ein Dokument, das mit Hilfe von (teils bebilderten) Beispielen erklärt, wie man mit einem Programm umgeht oder bestimmte Ergebnisse erzielt.

Tutorials werden von professionellen Benutzern oder dem Hersteller des Programms verfasst und helfen Anfängern, an Erfahrung zu gewinnen und schnell gute Ergebnisse zu erzielen.

Tutorials sind jedoch alle Arten von "Schritt-für-Schritt" Anleitungen, sei es nun für ein Computerprogramm, oder andere Aufgaben, zum Beispiel könnte man eine detaillierte Anleitung für das Benutzen einer Registrierkasse auch als Tutorial bezeichnen. Der Unterschied zu einer Schulung besteht darin, dass das Tutorial im Selbststudium (ohne Lehrer oder sonstige Begleitpersonen) absolviert werden kann.


Da in deinem "Tutorial" aber leider überhaupt keine Erklärungen etc.pp. stecken, halte ich es, wenn es sich auch an Anfänger richten soll, für völlig ungeeignet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
unex`9dots
Administrator
Administrator


Angemeldet: 02.08.2003
Beiträge: 1106
Wohnort: Karlsruhe
Interessen: Coding, Segeln, Schwimmen, PC

BeitragVerfasst am: 18.06.2005, 13:51    Titel: Antworten mit Zitat
warum du noch mit dem session Pfad hantierst, wenn du sie doch in der Datenbank speicherst ist mir gerade noch nicht ganz aufgegangen. Dachte immer den bräuchte man dann nicht mehr...?

Finde es gut das du hier sowas einstellst, dann kann ich ja auf meine Class verzichten.
Ein paar Kommentare wären allerdings schön.

Allerdings kann man auch einfach auf php.net/session_set_save_handler verweisen. Besser kann man es wohl eh nicht erklären.
Wer das nicht versteht der sollte dann vielleicht sowieso die Finger davon lassen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Thomas`tiweb
Mitglied
Mitglied


Angemeldet: 03.08.2004
Beiträge: 115
Wohnort: Bruchsal

BeitragVerfasst am: 18.06.2005, 14:26    Titel: Antworten mit Zitat
Unex, das mit der Klasse habe ich auch versucht - jedoch kann man beim session_set_save_handler() bei den funktionsnamen als parameter keine Klassenangaben machen (wie Session::read()). Mit Objekten von Session, also z.b. ($sess->read()) hab ich es jedoch noch nicht ausprobiert.

Ein paar Kommentare waeren echt nicht schlecht Winken
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
unex`9dots
Administrator
Administrator


Angemeldet: 02.08.2003
Beiträge: 1106
Wohnort: Karlsruhe
Interessen: Coding, Segeln, Schwimmen, PC

BeitragVerfasst am: 18.06.2005, 14:38    Titel: Antworten mit Zitat
@thomas

session_set_save_handler(array(&$this, 'sessionOpen'),
array(&$this, 'sessionClose'),
array(&$this, 'sessionRead'),
array(&$this, 'sessionWrite'),
array(&$this, 'sessionDestroy'),
array(&$this, 'sessionGC'));

so kannst du es in einer Klasse refrenzieren und auf funktionen der Klasse zurückgreifen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
mo`
Mitglied
Mitglied


Angemeldet: 08.12.2004
Beiträge: 74


BeitragVerfasst am: 18.06.2005, 16:24    Titel: Antworten mit Zitat
@admins

ich wäre sehr dankbar wenn einer die formatierung vom CODE bereich ausbessern könnte
Schriftgröße ändern und die Schriftfarbe dunkler, dann kann man das auch besser lesen, denn so find ich es anstrengend für die augen

danke !

gruss mo`
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
bl:nd
Moderator
Moderator


Angemeldet: 04.06.2004
Beiträge: 3499


BeitragVerfasst am: 18.06.2005, 17:50    Titel: Antworten mit Zitat
was hast du denn für monitor-einstellungen? ich kann das wunderbar lesen, ohne meine augen da irgendwie übermäßig anstrengen zu müssen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mike
Mitglied
Mitglied


Angemeldet: 06.07.2004
Beiträge: 136


BeitragVerfasst am: 18.06.2005, 18:41    Titel: Antworten mit Zitat
Der CODE-Bereich ist bei mir auch bisschen unleserlich.
Bei größeren Sachen kopier ich die Code-Abschnitte immer in Proton, um das Ganze vernünftig lesen zu können.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
mo`
Mitglied
Mitglied


Angemeldet: 08.12.2004
Beiträge: 74


BeitragVerfasst am: 18.06.2005, 21:26    Titel: Antworten mit Zitat
17" @ 1152x864
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
synth`9dots
Administrator
Administrator


Angemeldet: 02.08.2003
Beiträge: 3263
Wohnort: Karlsruhe
Interessen: 9dots Design

BeitragVerfasst am: 19.06.2005, 04:21    Titel: Antworten mit Zitat
Ich weiß auch nicht was es da für probleme auszubessern gibt. Die Schriftart ist Code-Standard, die Schriftgröße ja wohl mehr als ausreichend groß, und die Farbe hat doch auf weißem Grund genügend Kontrast.

Dass Code ohne Syntax Highlighting wesentlich unbequemer zu lesen ist als ohne ist natürlich etwas anderes. Das hat ja mit dem Forum Script nix zu tun.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Thomas`tiweb
Mitglied
Mitglied


Angemeldet: 03.08.2004
Beiträge: 115
Wohnort: Bruchsal

BeitragVerfasst am: 19.06.2005, 19:59    Titel: Antworten mit Zitat
also bei mir ist der code auch net so wirklich leserlich Winken

nen hoeherer kontrast waer da schon nicht schlecht Auf den Arm nehmen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
mo`
Mitglied
Mitglied


Angemeldet: 08.12.2004
Beiträge: 74


BeitragVerfasst am: 19.06.2005, 20:10    Titel: Antworten mit Zitat
ich habe ja auch nicht über syntax highlighting beschwert, sondern lediglich bemängelt das die schriftgröße ein bisschen größer sein könnte und schriftfarbe dunkler ...

da brauch sich auch keiner persönlich angegriffen fühlen ... war ja auch nur ne bitte ...

gruss mo`
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    9dots.de Webdesign Community Foren-Übersicht -> Coding-Tutorials Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Board Software by phpBB © 2001, 2005 phpBB Group. Impressum
Dominik Wuttke - Moritz Münchmeyer - Joachim Nagel GbR.
AGB