+ Antworten
Ergebnis 1 bis 6 von 6

Thema: Session-Variablen funktionieren nicht bei deaktivierten Cookies (localhost)

  1. #1
    IFA
    IFA ist offline
    Neu an Board
    Registriert seit
    12.05.2013
    Beiträge
    13
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Session-Variablen funktionieren nicht bei deaktivierten Cookies (localhost)

    Hallo,

    also das ist mein erster Eintrag, da ich neu hier bin.
    Hoffe mache alles richtig über den Editor (mit Code einfügen etc.).

    Ich erstelle gerade eine Joomla-Homepage (localhost) und bin auch fast fertig.

    Ich möchte grds. sowohl Cookies und Session-Variablen benutzen:
    Cookie-Informationen (später ggf. beim Nutzer gespeichert aus früheren Site-Besuchen) und Session-Variablen für den dann jeweils aktuellen Site-Besuch.

    Soweit so gut.

    Mein Problem ist nun folgendes:

    Wenn ich an meinem Rechner Cookies aktiviert habe, funktioniert alles wunderbar (Sessionvariablen speichern und abfragen als auch Cookies setzen und abfragen).
    Wenn ich aber Cookies deaktiviere (z.B. in Firefox an meinem Rechner), dann funktionieren auch die Sessionvariablen nicht mehr!
    Das sollte doch aber gerade der Sinn sein, dass ich auch bei User-deaktivierten Cookies Werte als Sessionvariablen für den aktuellen Besuch zumindest speichern/verwenden kann.

    Ich möchte ja nun deshalb gerade testen, ob die Sessionvariablen richtig gesetzt werden etc., wenn ein User (an dessen Rechner) - später wenn die Seite online ist - seine Cookies deaktiviert hat.

    Ist das ein Problem, dass speziell nur unter localhost so auftritt oder später auch im Echtbetrieb?
    Kann ich das anders testen und realisieren oder bin ich hier gedanklich total auf dem Holzweg?

    Wäre für jede Info dankbar!

    ------------------------------

    Nachdem ich über diverse Foren gelesen habe, dass das "normale" PHP-Session-Setzen (und spätere Abfragen) über

    Code:
     
    session_start();  $_SESSION["xxx"] = $yyy;
    etc. nicht funktionieren soll unter Joomla, habe ich das jetzt soweit realisiert über

    Code:
    define( '_JEXEC', 1 );
    define( 'DS', DIRECTORY_SEPARATOR );
    define( 'JPATH_BASE', realpath(dirname(__FILE__).'/..' ));
    
    require_once ( JPATH_BASE .DS.'configuration.php' );
    require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
    require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' ); 
    require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
    
    $mainframe =& JFactory::getApplication('site');
    $mainframe->initialise();
    /*======================*/  
    // Session-Variablen (neu) setzen
    /*======================*/
    if ($yyy !== null && $yyy != "")
      {
         $session =& JFactory::getSession();
         $session->set( 'xxx', "$yyy" );
      }

    Meine System-Info's:
    + Jommla 2.5.9
    + Apache 2.4.3
    + MySQL 5.5.27 (Community Server)
    + PHP 5.4.7 (VC9 X86 32bit thread safe) + PEAR
    + phpMyAdmin 3.5.2.2
    Geändert von IFA (24.07.2013 um 19:16 Uhr)

  2. #2
    Hat hier eine Zweitwohnung
    Registriert seit
    24.01.2006
    Beiträge
    1.010
    Bedankte sich
    156
    Erhielt 706 Danksagungen
    in 377 Beiträgen

    Standard

    Und wie meinst du soll ein Besucher, nach dem er einen Link geklickt hat, identifiziert werden, wenn keine Cookies aktiv sind? Woher soll Joomla! wissen, welche Session zu welchen User gehört? (und sag jetzt nicht IP...). Ohne Cookies keine Session (außer man baut das komplette Sessionhandling über die Links auf)

  3. #3
    IFA
    IFA ist offline
    Neu an Board
    Registriert seit
    12.05.2013
    Beiträge
    13
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hm, gute Frage.
    Allzu detailliert kenne ich mich da nicht aus.

    Es muss doch aber irgendwie möglich sein, dass Server-seitig Session-Daten gespeichert werden für einen User, auch wenn dieser Cookies bei sich deaktiviert hat.
    z.B.: (1) Die Homepage wird aufgerufen mit ...
    Code:
    http://...?Daten=Muster
    ODER (2) Der User wählt aus einer Listbox einen Eintrag (Muster) aus.

    Ich will ja nur diesen einen Wert übernehmen und (pro User) speichern!
    Und diesen Wert will/muss ich dann über die gesamte "Session" des Users hindurch weiter verwenden.

    Wie ginge das denn grds. (in Joomla), wenn der User seine Cookies deaktiviert hat (und auch ohne Anmeldung)?
    Ich dachte genau dafür wären Session-Variablen da, oder?
    Geändert von IFA (05.06.2013 um 23:15 Uhr)

  4. #4
    IFA
    IFA ist offline
    Neu an Board
    Registriert seit
    12.05.2013
    Beiträge
    13
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Frage

    Keiner eine Idee oder einen (weiteren) Hinweis?

  5. #5
    Hat hier eine Zweitwohnung
    Registriert seit
    24.01.2006
    Beiträge
    1.010
    Bedankte sich
    156
    Erhielt 706 Danksagungen
    in 377 Beiträgen

    Standard

    HTTP ist ein zustandsloses Protokoll, das heißt, nach einem Klick ist der Nutzer wieder "vergessen". Um das du verhindern gibt es die Session ID. Diese muss (= der einfache Weg) als Cookie mitgeführt werden. Alternativ kann diese auch über die URL mitgegeben werden. Ich weiß aber spontan nicht, ob es in Joomla! eine versteckte Funktion gibt, die das unterstützt (= die ID muss an jeden Link angehangen werden), wenn ich raten müsste, würde ich sagen nein.

    Also entweder Cookies aktivieren oder das Routingsystem in Joomla! auseinander nehmen und schauen ob es da etwas mit Sessions gibt.

  6. #6
    Neu an Board
    Registriert seit
    15.06.2010
    Beiträge
    65
    Bedankte sich
    8
    Erhielt 4 Danksagungen
    in 4 Beiträgen

    Standard

    Hallo Ifa,

    ich hatte ein ganz ähnliches Problem, und wollte auch einen Übergabewert "irgendwie" in einer SessionID unterbringen. Mir hat dann folgende Seite geholfen:
    http://tutsforu.com/creating-faceboo...in-joomla.html

    Und ich bin wahrlich kein Programmierer.


    Cyberframe

+ Antworten

Stichworte

Berechtigungen

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