Just nu i M3-nätverket
Gå till innehåll

Session/Class Probs...


Rikard Nilsson

Rekommendera Poster

Rikard Nilsson

Jag har följande kod i en class:

function VerifyUser($sID, $sExpire, $UserInactivityExpire) {

$DBInfo = new DBInfo();

$Class = new Base();

 

$Class->DBConnOpen();

 

$qSession = "SELECT * FROM $DBInfo->TblUsers WHERE sessionID = '$sID'";

$qSessionResult = mysql_query($qSession);

$qSessionRow = mysql_num_rows($qSessionResult);

$qRow = mysql_fetch_array($qSessionResult);

 

if (!isset($sID) || $qSessionRow == "0" || $qRow["sessionID"] != $sID || time() > $sExpire) {

return false;

} else {

$sExpire = time() + ($UserInactivityExpire * 60);

$UpdateSessionExpire = "UPDATE $DBInfo->TblUsers SET sessionExpire = '$sExpire' WHERE sessionID = '$sID'";

$Result = mysql_query($UpdateSessionExpire);

return true;

}

$Class->DBConnclose();

}

 

 

Mitt problem är att: $sExpire nya värde inte skickas tillbaka till sessions-variabeln med samma namn.

 

Om ja lägger in funktionen i samma fil som jag kallar på funktionen ifrån class (index.php) så funkar uppdateringen.

 

Även innut i funktionen i sig så uppdateras den, men ja får inte skickat ut den till globala session igen.

 

Och ja, jag har testat att "return $sExpire", men jag måste ha denna funktion att returnera true/false...

 

Nån lösning någon?

Länk till kommentar
Dela på andra webbplatser

 

Om $sExpire ar global, sa maste du ange det inuti funktionen mha

 

global $sExpire;

 

Annars tolkas det som en lokal variabel.

 

 

 

Länk till kommentar
Dela på andra webbplatser

Rikard Nilsson

Tackar.

 

Det funkar, så nu till nästa fråga:

Jag har läst nånstans om att register_global är off eller nåt sånt, så funkar inte "global $var" eller hur e de egentligen med det?

 

Finns det några fenomen som jag bör känna till?

 

Länk till kommentar
Dela på andra webbplatser

om register_globals är satt så blir alla variabler som ex.vis postas till sidan globala. Det har ingen inverkan på de du definierar som globala i ditt script.

 

http://www.php.net/manual/en/configuration.php#ini.register-globals

 

ex:

 

<?

$nisse = "tomte";

$tomte = "julemand";

 

function hej() {

 

global $nisse;

echo $nisse;

echo $tomte;

 

}

 

?>

 

skriver bara ut 'tomte'

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...