probleme mit sessionklasse
Verfasst: 18.03.2003 13:09
hallo an alle coder
habe folgendes problem!!
will meine page komplett auf oop mit php umstellen
nutze dabei vier klassen ( dateiklasse, dbklasse, sessionklasse und projektklasse)
dabei sind dateiklasse sbklasse und projektklasse selber entwickelt worden
die sessionklasse habe ich aus dem netz
klappt alles wunderbar,
links zu anderen seiten sehen so aus
http://meinserver/menu.php?page=home&PH ... 958ba309ca
der auf ruf der einzelnen seiten funktioniert!!!
variablen werden über die folgende methode in die session gespeichert
function set_var( String $varname, mixed $varvalue )
und ausgelesen werden sie folgendermaßen
function get_var( String $varname )
aber wenn ich variablen in der session speichern klappt das nicht wieso???
eingesetzt habe ich die session folgenermaßen
aufgerufen wird die function zeige_Home_Seite () in der menu.php folgendermaßen
habe im anhang den code der sessionklasse
habe folgendes problem!!
will meine page komplett auf oop mit php umstellen
nutze dabei vier klassen ( dateiklasse, dbklasse, sessionklasse und projektklasse)
dabei sind dateiklasse sbklasse und projektklasse selber entwickelt worden
die sessionklasse habe ich aus dem netz
klappt alles wunderbar,
links zu anderen seiten sehen so aus
http://meinserver/menu.php?page=home&PH ... 958ba309ca
der auf ruf der einzelnen seiten funktioniert!!!
variablen werden über die folgende methode in die session gespeichert
function set_var( String $varname, mixed $varvalue )
und ausgelesen werden sie folgendermaßen
function get_var( String $varname )
aber wenn ich variablen in der session speichern klappt das nicht wieso???
eingesetzt habe ich die session folgenermaßen
Code: Alles auswählen
function zeige_Home_Seite ()
{
$this -> oParsezeit -> start ();
$this -> oVorlage -> lesen ( SEITENDIR . "home.html" );
// einsetzen der sessionid als link
$this -> oVorlage -> ersetzen ( "%sessionstring%", $this -> oSess -> get_sid_string() );
$this -> oVorlage -> ersetzen ( "%seitentitel%", $this -> sSeitentitel );
$this -> oVorlage -> ersetzen ( "%seitenname%", "Startseite" );
//$this -> oVorlage -> ersetzen ( "%banner%", $this -> banner_rotation () );
$this -> oVorlage -> ersetzen ( "%datum%", $this -> datum_copyright () );
$this -> oSess -> set_var ( "Variable1", "Wert1" );
$this -> oVorlage -> ersetzen ( "%parsezeit%", $this -> oParsezeit -> stop () );
$this -> oVorlage -> anzeigen ();
}
Code: Alles auswählen
switch ( $aVars ['page'] )
{
// Hauptseiten des Projektes
case 'home' :
$oItsystem -> zeige_Home_Seite ();
break;
.
//und noch mehr seite
.
default :
// die ( "Page nicht angegeben" );
die ( $oItsystem -> zeige_Fehler_Seite () );
break;
}
Code: Alles auswählen
<?php
class Session
{
// constructor
function Session()
{
session_start();
}
// sets a session-variable
function set_var( $varname, $varvalue )
{
if( !isset($varname) || !isset($varvalue) )
die("Function setvar( String \$varname, mixed \$value ) expects two parameters!");
if( phpversion() >= "4.1.0" )
$_SESSION[$varname] = $varvalue;
if( !isset($GLOBALS[$varname]) )
$GLOBALS[$varname] = $varvalue;
else
{
global $HTTP_SESSION_VARS;
session_register($varname);
$GLOBALS['HTTP_SESSION_VARS'][$varname] = $varvalue;
if( !isset($GLOBALS[$varname]) )
$GLOBALS[$varname] = $varvalue;
}
}
// returns the value of a certain session-variable
function get_var( $varname )
{
if( !isset($varname) )
die("Function getvar( String \$varname ) expects a parameter!");
if( phpversion() >= "4.1.0" )
{
if (isset($GLOBALS[$varname]))
return $GLOBALS[$varname];
elseif (isset($GLOBALS['_SESSION'][$varname]))
{
$GLOBALS[$varname] = $GLOBALS['_SESSION'][$varname];
return $GLOBALS['_SESSION'][$varname];
}
}
else
{
if (isset($GLOBALS[$varname]))
return $GLOBALS[$varname];
elseif (isset($GLOBALS['HTTP_SESSION_VARS'][$varname]))
{
$GLOBALS[$varname] = $GLOBALS['HTTP_SESSION_VARS'][$varname];
return $GLOBALS['HTTP_SESSION_VARS'][$varname];
}
}
}
// returns a string like "PHPSESSID=b188e8c9c45b347cdded2..."
function get_sid_string()
{
return session_name() . "=" . session_id();
}
// returns the session-id
function get_sid()
{
return session_id();
}
// unsets a certain session-variable
function var_unset( $varname )
{
if( !isset($varname) )
die("Function var_unset( String \$varname ) expects a parameter!");
if( phpversion() >= "4.1.0" )
{
if (isset($GLOBALS[$varname]))
unset( $GLOBALS[$varname] );
if (isset($GLOBALS['_SESSION'][$varname]))
unset( $GLOBALS['_SESSION'][$varname] );
}
else
{
if (isset($GLOBALS[$varname]))
unset( $GLOBALS[$varname] );
if (isset($GLOBALS['HTTP_SESSION_VARS'][$varname]))
unset( $GLOBALS['HTTP_SESSION_VARS'][$varname] );
}
}
// unsets the value of every session-variable
function ses_unset()
{
if( phpversion() >= "4.1.0" )
{
if( isset($GLOBALS['_SESSION']) ) $a = $GLOBALS['_SESSION'];
while( list($key,) = each($a) )
$this->var_unset($key);
}
else
{
if( isset($GLOBALS['HTTP_SESSION_VARS']) ) $a = $GLOBALS['HTTP_SESSION_VARS'];
while( list($key,) = each($a) )
$this->var_unset($key);
}
}
//deletes every session-variable and destroys the Session
function destroy()
{
$this->ses_unset();
session_destroy();
}
// shows the variables currently set in the session
function show()
{
echo "Variables set in current session:<br />\n";
if( phpversion() >= "4.1.0" )
{
if( isset($GLOBALS['_SESSION']) ) $a = $GLOBALS['_SESSION'];
while( list($key,$value) = each($a) )
echo "Variable: $key - Value: $value<br />\n";
}
else
{
if( isset($GLOBALS['HTTP_SESSION_VARS']) ) $a = $GLOBALS['HTTP_SESSION_VARS'];
while( list($key,$value) = each($a) )
echo "Variable: $key - Value: $value<br />\n";
}
}
}
?>