1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

wer löscht meine $_SESSION-Variable?

Dieses Thema im Forum "Netzwelten" wurde erstellt von gonzine42, 13. März 2016.

  1. gonzine42

    gonzine42 Member

    Registriert seit:
    26. August 2013
    Beiträge:
    10
    Zustimmungen:
    0
    Hallo,

    ich arbeite mit einer eigenen Session und habe in meiner function.php:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ich übergebe eine Seitennummer per Link
    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    In der neue_seite.php kommt die Variable $neue_seite auch an und wird in $_SESSION['seite'] gespeichert. Dies habe ich per echo-Ausgabe getest.
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Nur nach dem Aufruf der neuen Location ist die $_SESSION['seite'] nicht mehr existet.
    Außerhalb von Wordpress funktioniert dies. Innerhalb nicht.

    Thema: customizr - ich hatte auch schon ein anderes Thema probiert.
    Plugin: keines - alles gelöscht.

    Also: wer löscht meine $_SESSION-Variable?

    Gruß gonzine
     
  2. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.361
    Zustimmungen:
    589
    in eine Funktion würde ich session_start() nicht verstecken und if(!session_id()) { ist hier schrott.


    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    wenn dann

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!


    http://php.net/manual/de/function.session-start.php

    und da fehlt die SID
    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    und der Bezug zu WordPress war jetzt?
     
  3. Monika

    Monika Well-Known Member
    Ehrenmitglied

    Registriert seit:
    4. Juni 2005
    Beiträge:
    14.126
    Zustimmungen:
    2
    ...verschoben in die Netzwelten :)
     
  4. gonzine42

    gonzine42 Member

    Registriert seit:
    26. August 2013
    Beiträge:
    10
    Zustimmungen:
    0
    Hallo, Danke für die Antworten.

    1.) den "Schrott" habe ich auf mehreren Seiten gefunden. Ich suche ja schon eine Weile.
    Die Version
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    liefert genau das gleiche.

    Der Zusatz zum Link
    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    liefert leider auch keine Änderung.
    Die Variable wird ja richtig übergeben nach neue_seite.php.

    2.) Warum verschoben? Das ganze funktioniert ja außerhalb von WP, nur halt nicht innerhalb.

    Gruß gonzine
     
  5. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.361
    Zustimmungen:
    589
    Welche?

    Im PHP Handbuch wird die Session erklärt.
    http://php.net/manual/de/ref.session.php


    wenn du der Meinung bist, dass dieser Code sinnvoll ist lese ich dir gerne das PHP Handbuch vor:

    aus
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    wird
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    session_start() erzeugt eine Session oder nimmt die aktuelle wieder auf, die auf der Session-Kennung basiert, die mit einer GET- oder POST-Anfrage oder mit einem Cookie übermittelt wurde.

    unter PHP 4 also in der Steinzeit hat man dies vermutlich mal so gemacht.

    halte dich an das Handbuch von PHP und nicht von WordPress Bastler.



    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Wichtig ist, dass hinter der seite=2& die Session steht. Die Session besteht aus dem Namen PHPSESSION und der ID zum Beispiel 66402628b363e7e70b7db64ba2924ae8

    der Link sollte dann so aussehen

    http://exmaple.org/eigene/neue_seite.php?seite=2&PHPSESSION=66402628b363e7e70b7db64ba2924ae8

    der Inhalt der Session wird auf dem Server speichert. Die Datei sollte erstellt und vorhanden sein wird mit session_save_path bestimmt.

    und im Browser wird die Session als Cookie angenommen.


    in dem Script: eigene/neue_seite.php auf der gleichen Domain - nimmt man dann die Session mit


    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    an.

    Wenn es nicht funktionert

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    selbstverständlich sollte hier der session_save_path, der name usw. identisch sein.


    wo sind wir innerhalb von WordPress? Was funktioniert?

    Wenn eigene/neue_seite.php eine eigene Session Verwaltung hat (eigenes Session Verzeichnis, eigene Session Domain, eigenen Namen der Session, einen Sicherheits-Tocken nicht jeder nimmt von jedem einen Session an. Warum steht hier http://www.php-kurs.com/session-hijacking.htm musst du dich mit der Session konfiguration beschäftigen ...
     
    #5 r23, 14. März 2016
    Zuletzt bearbeitet: 14. März 2016
  6. gonzine42

    gonzine42 Member

    Registriert seit:
    26. August 2013
    Beiträge:
    10
    Zustimmungen:
    0
    Hallo,
    vielen Dank für die vielen, guten Belehrungen.

    Es tut mir leid, dass ich so unklar ausgedrückt habe.

    In einer bestehenden Webseite, die nicht unter WP läuft, geht folgender Ablauf:
    Eine Session wird erzeugt, die Session-Varriablen werden in php-Dateien beschrieben und in anderen php-Dateien wieder ausgelesen. Alles so wie es soll.

    Jetzt wird diese Webseite in WP neu gestaltet und einige Funktionen müssen erhalten bleiben. Für diese Funktionen werden Session-Variablen benötigt.
    Zu diesem Zweck hatte ich es in der WP-Umgebung an einem einfachen Beispiel (wie die Übergabe einer Seitennummer) getestet.
    Die Session wird in der function.php erzeugt. Die Variable wird auch übergeben. Doch sobald WP eine neue Seite aufruft, ist die Session zwar noch da, doch die Session-Variable ist nicht mehr existent.

    Ich wünsche eine gute Woche
    gonzine
     
  7. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.361
    Zustimmungen:
    589
    lol

    erstelle dir ein WordPress Plugin, dass zu deiner Anwendung passt.

    Hier ein paar Beispiel
    https://wordpress.org/plugins/tags/sessions

    1. magento
    2. meine empfehlung für die eigen Entwicklung
    https://wordpress.org/plugins/wp-native-php-sessions/



    dies ist ein typischer Fehler von wildem gebastelt wie deisem:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ^- Schrott halt.
     
  8. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden