hallo allemaal,

Weet iemand hoe ik het laatst gezien van een ingelogde gebruiker kan opslaan en in de database kan zetten?

Groetjes
Fabian Web-Stars
Bij ELKE pagina die hij opent iets als dit doen:

<?php
$sql = mysqli_query($conn, "UPDATE user SET last_visit = NOW() WHERE user_id = ".$_SESSION['userid']);
if($sql === false)
 {
 echo 'Query mislukte bij regel '. __LINE__ . '<br>';
 }
?>


Let op het woordje "IETS".
Want ik weet niet welke gegevens je hebt en hoe je database eruit ziet.
Je bedoelt wanneer een gebruiker voor het laatst heeft ingelogd?

Gewoon de actuele datum en tijd wegschrijven in de user table.


UPDATE users SET last_login=NOW() WHERE user_id=5


Dan kun je 'later' het tijdverschil berekenen.

Wil je helemaal bijhouden wanneer een gebruiker voor het laatst actief was dan zou je bij ieder request de actuele tijd moeten opslaan in de database.

(request = iedere keer als een gebruiker een nieuwe pagina opvraagt)
dank jullie wel

[size=xsmall]Toevoeging op 27/06/2015 23:05:52:[/size]

tot nu toe werkt het nog niet, maar ben nog aan t kijken
wat ik nu heb is de kolom genaamd last_visit en na veel ge-experimenteer dit stukje code

<?php
$sql="update users set last_visit = NOW() where id = ".$_SESSION['userid'].
if($sql === false)
 {
 echo 'Query mislukte bij regel '. __LINE__ . '<br>';
 } 
?>


dit omdat ik nog geen mysqli gebruik, er zitten veel fouten in :p (blijkbaar, want hij doet het niet) Alle hulp is welkom
Je mist je query:
<?php
$sql = mysqli_query("UPDATE users SET last_visit = NOW() WHERE id = '".$_SESSION['userid']."'"); // Puntkomma (;) toevoegt, query en juiste format van sessie plaatsen toegevoegd
if($sql === false)
{
echo 'Query mislukte bij regel '. __LINE__ . '<br>';
}
?>

Reageren