Ankündigung

Einklappen
Keine Ankündigung bisher.

Funktion $_Session ab 5.4 deaktiviert

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Funktion $_Session ab 5.4 deaktiviert

    Hallo Zusammen,

    ich bin nicht so erfahren in PHP und habe deshalb eine Frage zu der Funktion $_Session.

    Ich habe ein Script welches auf einer PHP 5.4.x Umgebung laufen soll, leider bekomme ich immer diese Fehlermeldung:

    PHP-Code:
    *Fatal error*: Call to undefined function session_unregister() in */xxxx/xxxxxx/xxxxx/xxxxx/xxxxx/xxxxx/xxxxxx/xxx.phpon line *70
    Der Code sieht so aus:

    PHP-Code:
    // prüfen, ob die regdaten verwendet werden sollen
        
    if ($_SESSION["regdaten"]["use_sessiondata"]=="1") {
            
    $use_sessions=true;
            
    // Zurücksetzen
            
    $_SESSION["regdaten"]["use_sessiondata"]=false;
        }
        else {
            
    // Regdaten und Fehler löschen
            
    session_unregister("regdaten");
            
    session_unregister("fehler_arr");
        } 
    Ich habe mich dann im Internet eingelesen und gefunden, das der Befehl deaktiviert wurde und jetzt "isset" mit eingefügt werden mussen, um die Variable zu prüfen.

    Das habe ich gemacht und jetzt sieht der Befehl so aus:

    PHP-Code:
    // prüfen, ob die regdaten verwendet werden sollen
        
    if (isset($_SESSION["regdaten"]["use_sessiondata"]=="1")) {
            
    $use_sessions=true;
            
    // Zurücksetzen
            
    $_SESSION["regdaten"]["use_sessiondata"]=false;
        }
        else {
            
    // Regdaten und Fehler löschen
            
    session_unregister("regdaten");
            
    session_unregister("fehler_arr");
        } 
    Wenn ich das Script jetzt ausführe bekommen ich immer diese Meldung:

    PHP-Code:
    Parse errorsyntax errorunexpected T_IS_EQUALexpecting ',' or ')' in /xxxx/xxxxxx/xxxxx/xxxxx/xxxxx/xxxxx/xxxxxx/xxx.php on line 70 
    Kann mir einer helfen und sagen, was daran falsch ist?

    Vielen Dank für eure Hilfe.
    Hilfesucher


  • #2
    Du arbeitest an der falschen Stelle in deinem Code was den Fehler angeht. Dein Fehler kommt durch die Verwendung der Funktion "session_unregister" dies es mit PHP5.4 nicht mehr gibt:

    http://www.php.net/manual/de/functio...unregister.php

    Und das hier

    PHP-Code:
    if (isset($_SESSION["regdaten"]["use_sessiondata"]=="1")) 
    sollte sicher so sein:

    PHP-Code:
    if (isset($_SESSION["regdaten"]["use_sessiondata"]) && ($_SESSION["regdaten"]["use_sessiondata"]=="1")) 

    Kommentar


    • #3
      session_unregister() ist ab Version 5.4 nicht mehr vorhanden und muß ersetzt werden, ist aber auch im zweiten Script bei dir noch vorhanden. Schau nochmal ins Manual.
      Schema für ein umschreiben (ungestestet):
      PHP-Code:
      //alt
      //session_unregister("regdaten"); 
      if(isset($_SESSION["regdaten")) {
          unset(
      $_SESSION["regdaten"));

      PHP-Klassen auf github

      Kommentar

      Lädt...
      X