Probleme mit Sessions !



  • ich führe einfach die funktionen aus:

    <?PHP
    # ================================== Copyright  © 2004 Cenetix-Dev, All rights reserved. =========================
    #
    #
    # Purpose:
    # ================================================================================================================
    
    # -[ defines ]-
    
    # -[ class ] -
    class CSession
    {
    	# -[ variables ]-
    
    	# -[ functions ]-
    
    	//-------------------------------------------------------------------------------
    	// Purpose: constructor
    	// Output :
    	//-------------------------------------------------------------------------------
    	function CSession ()
    	{
    	}
    
    	//-------------------------------------------------------------------------------
    	// Purpose: 
    	// Output :
    	//-------------------------------------------------------------------------------
    	function Start()
    	{
    		return session_start();
    	}
    
    	//-------------------------------------------------------------------------------
    	// Purpose: 
    	// Output :
    	//-------------------------------------------------------------------------------
    	function GetId()
    	{
    		return session_id();
    	}
    
    	//-------------------------------------------------------------------------------
    	// Purpose: 
    	// Output :
    	//-------------------------------------------------------------------------------
    	function Destroy()
    	{
    		session_unset();
    
    		// destroy session
    		session_destroy();
    
    	}
    
    	//-------------------------------------------------------------------------------
    	// Purpose: 
    	// Output :
    	//-------------------------------------------------------------------------------
    	function RegisterVar( $var_name )
    	{
    		return session_register( $var_name );
    	}
    
    	//-------------------------------------------------------------------------------
    	// Purpose: 
    	// Output :
    	//-------------------------------------------------------------------------------
    	function UnregisterVar( $var_name )
    	{
    		return session_unregister( $var_name );
    	}	
    
    	//-------------------------------------------------------------------------------
    	// Purpose: 
    	// Output :
    	//-------------------------------------------------------------------------------
    	function IsRegisteredVar( $var_name )
    	{
    		return session_is_registered( $var_name );
    	}
    
    	//-------------------------------------------------------------------------------
    	// Purpose: 
    	// Output :
    	//-------------------------------------------------------------------------------
    	function GetCookieParams()
    	{
    		return session_get_cookie_params();
    	}
    
    };
    
    ?>
    


  • Hi,

    was bringt mir das, wenn ich ein "@" for eine session funktion setzte ?

    Bye



  • Mit "@" kannst du die Ausgabe einer Fehlermeldung der Funktion unterbinden.
    Das ist nützlich, wenn du eine eigene oder gar keine Meldung ausgeben willst.



  • Man sollte nicht session_register und $_SESSION in Kombination verwenden - steht zumindest so in der PHP-Doku 🕶



  • Aha, und wie soll ich deiner Meinung das ganze sonst machen ?

    Also ich hab den Code ein bisschen geändert und funktioniert jetzt,
    aber ich hab die kombination ! ?

    // register data in session
    		if( !CSession::IsRegisteredVar( "member_id" ) )  CSession::RegisterVar( "member_id" );
    		if( !CSession::IsRegisteredVar( "is_admin" ) )  CSession::RegisterVar( "is_admin" );	
    
    		$_SESSION['member_id'] = $member_id;
    		$_SESSION['is_admin'] = $is_admin;
    


  • einfach die if's ganz weglassen 😉
    Wobei ich eher nicht denke, dass das etwas mit dem eigentlichen Problem zu tun hat 🤡



  • flenders schrieb:

    einfach die if's ganz weglassen 😉
    Wobei ich eher nicht denke, dass das etwas mit dem eigentlichen Problem zu tun hat 🤡

    Wenn ich das tute kommt ein Fehler, dass die daten schon gesendet worden sind 🙂



  • Bei was kommt das dann 😕

    Mit if-Weglassen meinte ich natürlich das ganze, also das hier:

    if( !CSession::IsRegisteredVar( "member_id" ) )  CSession::RegisterVar( "member_id" ); 
    if( !CSession::IsRegisteredVar( "is_admin" ) )  CSession::RegisterVar( "is_admin" );
    


  • Wird das dann automatisch in den Sessions gespeichert ? !! ?

    Wenn ich nur die Werte in $_SESSIONS speicher ?



  • Ja, und in der Doku steht auch:

    Wenn Sie $_SESSION (oder $HTTP_SESSION_VARS) verwenden, sollten Sie nicht session_register(), session_is_registered() und session_unregister() verwenden.


Anmelden zum Antworten