Anzeige:
Ergebnis 1 bis 12 von 12

Thema: Wieder mal: Session Problem

  1. #1
    Registrierter Benutzer Avatar von Hondapower
    Registriert seit
    24.10.2002
    Ort
    München
    Beiträge
    34

    Wieder mal: Session Problem

    Hallo, ich weiss, zum 1000sten Mal: Sessions
    Habe allerdings in der Suche nichts brauchbares gefunden

    Wollte jetzt auf meiner HP endlich mal eine Session Funktionalität einbauen.
    Funktioniert aber leider irgendwie nicht!

    Ich bekomme immer folgende Fehlermeldung am Ende meiner Seite:
    "Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
    "

    Habe auch phpinfo() ausgeben lassen
    --> session.save_path = /tmp

    Hier mal noch der Code mit dem ich versuche die Session zu starten...

    PHP-Code:
    session_start();
    if(
    $HTTP_COOKIE_VARS[session_id_set]) {
     
    session_id($HTTP_COOKIE_VARS[session_id]);
     echo 
    $HTTP_SESSION_VARS[user];
    }
    else {
     
    $session_id session_id(); 
     
    setcookie("session_id_set","$session_id",time()+9999999,""".tunemaster.de""");

     
    session_register("user");
     
    $user "beispieluser";

    Danke für die Hilfe!

  2. #2
    Registrierter Benutzer
    Registriert seit
    22.01.2003
    Beiträge
    39
    1. verwende statt $HTTP_COOKIE_VARS einfach $_COOKIE[] -> das is neuer - aber das is ja nicht dein Problem - nur als Tipp!

    2. wenn du Sessions "offline" testest musst du in C:\ ein Ordner namens tmp erstellen. (meistens)

    3. was willst du eigentlich machen? also rein theoretisch - ich glaube für dein prob gibts ne ganz einfache lösung
    Es gibt zwei Dinge bei denen man nicht weiss, wie sie gemacht wurden - Finanzprognosen und Bratwürste.

  3. #3
    Registrierter Benutzer Avatar von Hondapower
    Registriert seit
    24.10.2002
    Ort
    München
    Beiträge
    34
    Okay... habe mal auf die "neuere" $_COOKIE Variante umgestellt.

    Ich teste meine Scripte immmer gleich online... von daher kann das eigentlich nicht das Problem sein.

    Zur Zeit sieht das extrem primitiv aus, was ich machen will...
    Die Variable $user nehme ich nur zum testen, ob die Session funktioniert.

    Wenn das dann passt, dann habe ich vor einige Userdaten, usw. mittels der Session Funktion bereitzuhalten,
    da sich die Daten mit dieser recht komfortabel handhaben lassen.

  4. #4
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    Verwaltest du den Server ? Es scheint als wenn er die Session Daten nicht auf die Platte schreiben könnte (fehlende Rechte?).

    Noch als Tipp: Der session Cookie wird auch automatisch gebildet, wenn der Browser dasunterstützt, ansonsten hängt er die Session ID an die Links.
    Seine Rätselhaftigkeit wird nur durch seine Macht übertroffen!

  5. #5
    Registrierter Benutzer Avatar von Hondapower
    Registriert seit
    24.10.2002
    Ort
    München
    Beiträge
    34
    Original geschrieben von mehlvogel
    Noch als Tipp: Der session Cookie wird auch automatisch gebildet, wenn der Browser dasunterstützt, ansonsten hängt er die Session ID an die Links.
    Aber dann ist die Session weg, wenn der Browser zu ist, glaube ich...

    Aber das wäre doch schon irgend einem anderem aufgefallen, wenn das /tmp Verzeichnis schreibgeschützt ist, denke ich...

    Werde mal bei meinem Provider anfragen, wie das mit den Sessions ausschaut!

    Melde mich dann wieder...

  6. #6
    Registrierter Benutzer
    Registriert seit
    22.01.2003
    Beiträge
    39
    Aber dann ist die Session weg, wenn der Browser zu ist, glaube ich...
    Sessions sind immer weg, sobald der Browser geschlossen wird. Länger können Sie nicht leben.
    Es gibt zwei Dinge bei denen man nicht weiss, wie sie gemacht wurden - Finanzprognosen und Bratwürste.

  7. #7
    Registrierter Benutzer
    Registriert seit
    20.01.2003
    Ort
    Wien
    Beiträge
    65
    Solltest du auf ein Login Formular mittels MYSQL abziehlen, kann ich dir helfen mit dem Script. Wenn nicht schau dir alles genau an, vielleicht brauchst du etwas davon

    .... mysql werte und select table .......

    PHP-Code:

    // Die MySQL Abfrage

    $query mysql_query("Select * from tabelle where Username='$Username' and Passwort='$Passwort' ");

    // Prüfen .. und zuordnen

    if ($daten mysql_fetch_object($query) {

     
    $user->Username $daten->Username// muss in der DB existieren
     
    $user->Email  $daten->Email// muss in der DB existieren

     // Session registrieren

     
    session_register("user");

     
    // Weiterleitung wenn OK

     
    header("location : login_ok.php"); 

    }

    // Daten falsch ..

    else {

     
    header("location : login_falsch.php");


    Open Source, Open Mind

    MTS-FORUM

  8. #8
    Registrierter Benutzer Avatar von Hondapower
    Registriert seit
    24.10.2002
    Ort
    München
    Beiträge
    34
    @silvercross: Vielen Dank, so ähnlich soll es werden

    Habe das Problem gelöst
    War mein Fehler!!!

    PHP-Code:

     setcookie
    ("session_id_set","$session_id",time()+9999999,""".tunemaster.de""");
     .
     . 
     .
     
    session_id($HTTP_COOKIE_VARS[session_id]); 
    Konnte nicht funktionieren.
    Ich ordne das Cookie 'session_id' zu, obwohl ich es 'session_id_set' genannt habe.
    *andenKopfhau*

    Jetzt habe ich allerdings das nächste Problem

    Ich nutze auf der Seite fast nur Subdomains...
    Leider wird die Session, welche ich auf sub1.domain.de eröffne auf sub2.domain.de nicht erkannt.
    Wie kann ich das anstellen?
    Hängt doch sicher mit dem Cookie zusammen, oder?

  9. #9
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    ich denke das hängt mit der übergebenen Domain zusammen. Nehm doch einfach den Standardcookie - bzw. die Linkvervollständigung - obwohl - ich weis nicht, ob das diese subdomainwechsel auch mitmacht... *hmmm*

    Vielleicht hilf das hier Klickst du
    Seine Rätselhaftigkeit wird nur durch seine Macht übertroffen!

  10. #10
    Registrierter Benutzer
    Registriert seit
    20.01.2003
    Ort
    Wien
    Beiträge
    65
    sobdomains zerstören die sessions ... du musst wohl oder übel auf diese verzichten

    mfg
    Michael
    Open Source, Open Mind

    MTS-FORUM

  11. #11
    Registrierter Benutzer Avatar von Hondapower
    Registriert seit
    24.10.2002
    Ort
    München
    Beiträge
    34
    So... jetzt hab ich es

    Auf der Startseite (http://www.domain.de/) wird ein Cookie gesetzt:

    PHP-Code:
    session_start();
    $user_session_id session_id(); 
    setcookie("session_id_set","$user_session_id",time()+9999999,""".domain.de"""); 

    session_register("tm_user");
    $tm_user 1
    Und in den Subdomains wird am Anfang jeder Datei mittels include dieser Code eingebunden:

    PHP-Code:
    session_set_cookie_params time()+9999999 "" ".domain.de" ); 

    if (
    $_COOKIE[session_id_set]) { 
     
    session_id($_COOKIE[session_id_set]);

    session_start ();
    echo 
    $HTTP_SESSION_VARS[tm_user];
    $tm_user++; 
    Man kann den Wert der Variablen ändern...
    Zur Zeit wird die Variable bei jedem Aufruf um eins erhöht.
    Dies funktioniert jetzt auch über die Subdomains hinweg *freu*

    Und danke für eure Hilfe!!!

    [EDIT] Dies funktioniert allerdings nur dann, wenn das erste Cookie auf der Startseite gesetzt wird!!![/EDIT]

  12. #12
    Registrierter Benutzer
    Registriert seit
    20.01.2003
    Ort
    Wien
    Beiträge
    65
    Ja, gute Lösung .. Gratuliere
    Open Source, Open Mind

    MTS-FORUM

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •