login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Cookie + Sessies in database werken niet (Opgelost)

Offline Kwarde - 29/05/2011 12:07 (laatste wijziging 29/05/2011 17:29)
Avatar van KwardeNieuw lid Hoi.
Ik ben bezig met een gebruikerssysteem. Hierbij maak ik een sessie systeem in de database, samen met cookies (i.v.m. firesheep). Het probleem is, dat ie niet werkt. De '$userSession->isLogged()' werkt niet. Hier zijn de twee functies die daarbij echt nodig zijn:
  1. function isValidSession($session_id)
  2. {
  3. $sql = "SELECT * FROM `Sessions` WHERE `IP` = '".$_SERVER['REMOTE_ADDR']."' AND `UserID` = '".$_COOKIE['UserID']."'";
  4. $res = mysql_query($sql);
  5. if($res):
  6. return true;
  7. endif;
  8. return false;
  9. }
  10.  
  11. function isLogged()
  12. {
  13. return $this->isValidSession($_COOKIE['UserID']) && isset($_COOKIE['UserID']) && isset($_COOKIE['LoggedIn']);
  14. }

De 'IP' in de database klopt met mijn IP, en de cookie ook met de UserID. (isValidSession)
De cookies UserID en LoggedIn bestaan ook allebei (isLogged).
Maar als ik nu $userSession->isLogged() gebruik, wordt er 'false' weergeven. Weet iemand waarom?
Als je meer script stukjes nodig hebt, zeg het, en ik zal het plaatsen.

- Kevin

FIXED:
Ik had '$res = mysql_error($res);' ipv '~($sql)' ("Query was empty" had ik).
Ook had ik in de debug modus een dingentje vergeten, ik had nl.:
  1. if(!$userSession->isLogged()):
  2. //Setcookie's
  3. $userSession->user_name();
  4. endif;

Dus de sessie was er (ook in de database), maar werd niet weergeven omdat de sessie al bestond.

2 antwoorden

Gesponsorde links
Offline valles10 - 29/05/2011 13:32
Avatar van valles10 HTML interesse deze functions zitten toch wel in een klasse hé? 
wat ik ook vreemd vind, is dat je $session_id meegeeft als parameter, maar nooit gebruikt...
Offline Kwarde - 29/05/2011 13:43 (laatste wijziging 29/05/2011 17:29)
Avatar van Kwarde Nieuw lid Over die $session_id -> Sorry ik was vergeten functie aan te passen :') -> De $_COOKIE['UserID'] is de $session_id. En ze zitten ook in de class ja ;).

FIXED:
Ik had '$res = mysql_error($res);' ipv '~($sql)' ("Query was empty" had ik).
Ook had ik in de debug modus een dingentje vergeten, ik had nl.:
  1. if(!$userSession->isLogged()):
  2. //Setcookie's
  3. $userSession->user_name();
  4. endif;

Dus de sessie was er (ook in de database), maar werd niet weergeven omdat de sessie al bestond.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.321s