+ Antworten
Ergebnis 1 bis 10 von 10

Thema: Joomla Session für eigenen PHP-Code verwendbar?

  1. #1
    Neu an Board
    Registriert seit
    07.05.2007
    Beiträge
    4
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Joomla Session für eigenen PHP-Code verwendbar?

    Hallo Freunde,

    ich habe eine nicht ganz triviale Frage:

    Ich verwende in meiner Joomla Installation den Mambot "kl_php" um PHP-Scripte im Content einzubinden. Nun habe ich hier zufällig einige vorgefertigte PHP-Skripte liegen, die ich bereits vorher auf einer Webseite (vor Umstellung auf Joomla) verwendet habe. Es handelt sich um mehrteilige Formulare die sich gegenseitig Daten übergeben müssen und die in mehrere Einzelscripte aufgeteilt sind.

    In den Tutorials von "kl_php" wird kurz erklärt, wie man zwischen Scripten Daten per GET/POST übergeben kann. Das würde ich aber gerne umgehen. Ich bin nicht sicher, aber ich vermute, das Joomla intern Sessions verwendet um Daten von Seite zu Seite weiterzuleiten. Gibt es eine Möglichkeit die Daten von meinen Scripten, die über "kl_php" eingebunden werden, in diesen Joomla Sessions mit zu übergeben, so daß ich mir GET/POST Orgien sparen kann?

    Gibt es diese Joomla Sessions? Kann ich sie mitverwenden bzw. innerhalb der verwendeten Session Daten übergeben? Wenn ja: worauf müsste ich dabei achten (vorbelegte Variablen??).

    Für Eure Hinweise wäre ich sehr dankbar, denn dann könnte ich meine schönen Scripte quasi nur anpassen und fast ohne große Umarbeitung übernehmen.
    Geändert von sascha.koerber (08.05.2007 um 10:59 Uhr) Grund: Der verlinkte Bot löste das Problem

  2. #2
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    Joomla verwendet im Frontend selbst gar keine Session.
    Hier der Mambot, der Abhilfe schafft: http://www.joomlaportal.de/veroeffen...on-mambot.html

    Damit kannst du eigentlich machen was du möchtest. Standardmäßig verwendet Joomla
    dann auch Schnittstellen für die Session, diese kannst du verwenden oder selbst mit
    der Session anbandeln.

    Gruß
    ec

  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board
    Registriert seit
    07.05.2007
    Beiträge
    4
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    @ecomeback:

    Vielen Dank! Das ist genau das, was ich gesucht habe. Und ich habe mir auch noch viel Sucherei gespart, weil ich leider nicht wusste, ob Joomla überhaupt im FrontEnd Sessions verwendet. Dickes "Daumen hoch!" dafür.

  5. #4
    Neu an Board
    Registriert seit
    18.01.2007
    Beiträge
    9
    Bedankte sich
    1
    1 Danksagung in 1 Beitrag

    Standard bin auf der Suche nach dem usernamen...

    Hi,
    ich hab es leider noch nicht ganz verstanden wie ich so an die sessiondaten heran komme, könntet ihr mir nicht mal ein kleines Beispiel posten, das wäre super.

    Den Mambot hab ich installiert, aber jetzt wie weiter?

    Was ich versucht hab ist das:
    global $mainframe;
    session_start();
    echo mosMainFrame::getUserState( 'username');

    aber das geht leider nicht. Ich bin neu in PHP und es kann sein das ich einen ganz einfachen Anfängerfehler hab. Wäre schön wenn mir jemand schnell auf die Sprünge helfen könnte,
    besten Dank

  6. #5
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    PHP-Code:
    global $mainframe;
    //set in User Session
    $mainframe->setUserState'key''value' );    

    //in einer neuen Funktion muss natürlich erneut das
    //globale mainframe Objekt zur Verfügung gestellt werden
    //get User Session
    $key $mainframe->getUserState'key' );    
    var_dump($key); 
    Vor allem nicht deine eigene Session starten, das macht alles der Mambot.

    Gruß
    ec

  7. #6
    Neu an Board
    Registriert seit
    20.08.2007
    Beiträge
    3
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hallo,
    ich benutze auch kl_php und habe mir Deinen Mambot installiert und auf published gesetzt. Es funktioniert auch schon teilweise:
    Sofern ich in einem Contentitem auf ein anderes verlinkt hab und dieses über den Link aufrufe, werden meine gespeicherten Variablen (global $mainframe; $mainframe->setUserState('var1', 'wert_von_var1') mitgenommen. Zumindest zeigt das mein Test über var_dump();.
    Sobald ich aber einen Link benutze, welcher von Joomla generiert wurde (z.b. einen Link aus der Breadcrumb-Leiste oder einen "next" bzw. "weiter"-Link), bricht die Session ab.

    Ich weiß nicht mehr weiter, ich hab schon alles Mögliche probiert und wäre über eine Hilfestellung sehr dankbar!

    Mit freundlichen Grüßen
    Daniel Förderer


    ---- EDIT ----

    Habe nun herausgefunden, dass sich das Problem mit der Domain zu tun hat. Die Links innerhalb der Contentitems sind alle ohne www., die von Joomla generierten sind mit www. Muss mal gucken, wie ich das www aus den von Joomla rauskriege. Das hat doch mit mos_config_site oder so zu tun...

  8. #7
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    Ohne weitere Infos wird es etwas schwierig dazu mehr zu sagen.

    Grüße
    ec

  9. #8
    Neu an Board
    Registriert seit
    20.08.2007
    Beiträge
    3
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Habs gefunden :-)

    Andere Frage:
    muss ich über
    Code:
    {kl_php}
    global $mainframe;
    $mainframe->setUserState( 'var1, 'value' );    
    echo $mainframe->getUserState( 'var1' );
    {/kl_php}
    meine Variablen in die Session speichern oder kann ich auch
    Code:
    {kl_php}
    global $mainframe;
    $mainframe->setUserState( 'var1, 'value' );    
    echo $mainframe->getUserState( 'var1' );
    $_SESSION['var2'] = 'value';
    echo $_SESSION['var2'];
    {/kl_php}
    benutzen?

  10. #9
    Gehört zum Inventar
    Registriert seit
    18.02.2005
    Beiträge
    8.841
    Bedankte sich
    85
    Erhielt 2.269 Danksagungen
    in 1.936 Beiträgen

    Standard

    Session ist Session, du darfst alles verwenden was dich glücklich macht, solltest aber
    darauf achten, dass die keine Variablennamen verwendest, die J! bereits in der
    Session im Backend genutzt werden. Wenn du gleichzeitig im Backend und im
    Frontend mit dem SessionBot angemeldet bist, dann gibt es da Überscheidungen der
    Session.

    Gruß
    ec

  11. Erhielt Danksagungen von:


  12. #10
    Neu an Board
    Registriert seit
    20.08.2007
    Beiträge
    3
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Alles klar, vielen Dank! :-)

+ Antworten

Lesezeichen

Berechtigungen

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