Jeg har prøvet at lave et script der gemmer sessions i databasen, fordi min kunde har et webhotel, hvor mange websites deler den den samme sessions mappe.. bla bla bla..
Mit problem er, at de sessions der bliver oprettet i databasen, aldrig bliver slettet igen. Når en person f.eks. bliver logget ud, så bliver dataen rigtig nok tømt, men desværre aldrig slettet?!
Koden er som følger:
//Define the functionality needed when session destroys. //This function takes one argument: sessionID. //This function destroys the session. function destroy_session($id) { global $conn;
$id = mysqli_escape_string($conn, $id);
$result = @mysqli_query($conn, "DELETE FROM sessions WHERE id='$id'");
$_SESSION = array();
return @mysqli_affected_rows($conn); }
//Define the functionality needed when session cleans. //This function takes one argument: expiring date (in seconds). //This function destroys the session. function clean_session($expire) { global $conn;
Feltet med data bliver tømt/slettet i rækken i databasen, men selve rækken bliver aldrig slettet. Det vil sige, $_SESSION['user'] indeholder ikke mere et brugerid, men selve $_SESSION (brugerens unikke sessionid) bliver aldrig slettet igen.
Jeg har selvf. tjekket diverse eksempler på google, men ingen af dem kan få session rækkerne slettet i databasen...
Jeg kan ikke finde hoved og hale i, hvad du mener. Såvidt jeg kan se, indeholder dit spm. og kommentar en masse selvmodsigelser. Jeg tror, du bliver nødt til at uddybe lidt mere præcist =)
Nu skal du ikke fortælle ham halve sandheder om mysqli - den der $id ligner en vandloppe på cykel - malplaceret (selv om det måske virker). Men lad os se om det kan komme til at virke, så kan vi altid gøre det rigtigt.
Jeg samler slet ikke på point, tak. Man få checket at der faktisk slettes sessioner på et tidspunkt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.