Hallo,
Ik zoek een manier om de laatste online tijd in de MySQL database op te roepen en deze in het profiel van de gebruikers weer te geven.
- Kolom MySQL last_online aanmaken
- PHP update last_online wanneer online
- PHP oproepen last_online voor user (uw laatste bezoek was .... )
Tot deze informatie kom ik zelf, echter heb ik geen idee hoe ik dit werkelijkheid kan maken (te weinig verstand van PHP hiervoor)
Wellicht kan iemand hierbij helpen? De tabel die ik nu in gebruik heb is:
Tabel: members
Kolommen:
- member_id
- voornaam
- achternaam
- username
- wachtwoord
Met vriendelijke groet,
Bas
Aanvullend bericht:
Ik hoef geen mensen via PB die zich eerst aanbieden en daarna afhaken. Klein scriptje.
Aanvullend bericht:
En nee, ik ga ook niet betalen voor iets dat 2 minuten werk is. Natuurlijk een mooie feedback maar betalen voor dit doe ik niet.
- User laatst online
-
25-08-2012, 13:41 #1
- Berichten
- 676
- Lid sinds
- 13 Jaar
User laatst online
Laatst aangepast door B. Brouwer : 25-08-2012 om 14:18 Reden: Automatisch samengevoegd.
-
In de schijnwerper
Laravel / Wordpress - Top kwaliteit voor een gunstig tariefFreelance / WerkSEO-tekstschrijver inhuren | beter vindbaar met webtekstenFreelance / WerkSupersnelle WordPress Webhosting vanaf € 3,00 per maandHostingStartpagina script V2.1 - WP plugin - Vernieuwd - Vele opties - V2.1 NU LIVEPHP scripts -
27-08-2012, 12:10 #2
- Berichten
- 152
- Lid sinds
- 13 Jaar
Re: User laatst online
Je geeft aan dat je het zelf niet kan, maar je weet wel dat het 2 minuten werk is ?
In je members tabel kan je een veldje extra aanmaken bijv last_time (datetime)
Op het moment dat iemand inlogd en ervanuit gaande dat je sessions gebruikt even wegschrijven naar de database
Code:public function update_last_time() { mysql_query("UPDATE users SET last_time = '".date('Y-m-d H:i:s')."' WHERE member_id = ".$_SESSION['userid']."); } public function get_last_time() { $query = mysql_query("SELECT last_time FROM members WHERE members_id = ".$_SESSION['userid'].""); return $query; }
Laatst aangepast door Ellis Vogely : 27-08-2012 om 12:22
-
28-08-2012, 07:01 #3
- Berichten
- 676
- Lid sinds
- 13 Jaar
Re: User laatst online
Het was meer een gok dat dit niet echt lang kan duren. Maargoed, waarmee haal ik de last_time uit de database in de content "uw laatste keer online was op ..... "
Deze twee geven overigens een syntax error:
public function update_last_time()
$query = mysql_query("SELECT last_time FROM members WHERE members_id = ".$_SESSION['userid']."");
Van de kolom heb ik datetime gemaakt (kolom heet last_time), moet ik verder nog wat invullen?
Je geeft aan dat je het zelf niet kan, maar je weet wel dat het 2 minuten werk is ?
In je members tabel kan je een veldje extra aanmaken bijv last_time (datetime)
Op het moment dat iemand inlogd en ervanuit gaande dat je sessions gebruikt even wegschrijven naar de database
Code:public function update_last_time() { mysql_query("UPDATE users SET last_time = '".date('Y-m-d H:i:s')."' WHERE member_id = ".$_SESSION['userid']."); } public function get_last_time() { $query = mysql_query("SELECT last_time FROM members WHERE members_id = ".$_SESSION['userid'].""); return $query; }
Iemand? Kom er zelf niet uit hoe ik die foutmelding wegwerk en hoe ik het oproep.Laatst aangepast door B. Brouwer : 29-08-2012 om 06:49 Reden: Automatisch samengevoegd.
-
29-08-2012, 17:07 #4
- Berichten
- 158
- Lid sinds
- 13 Jaar
Re: User laatst online
Bas,
Als je de kolom last_time heb gemaakt doe je bij de loginfunctie dus de query;
PHP Code:$query = mysql_query("UPDATE gebruikers SET last_time = NOW() WHERE id = '1'");
Om de last_time te verkrijgen doe je dit;
PHP Code:$query = mysql_query("SELECT DATE_FORMAT(last_time, '%d-%m-%Y %H:%i:%s') AS laatst_ingelogd FROM gebruikers");
$rij = mysql_fetch_assoc($query);
$laatst_ingelogd = $rij['laatst_ingelogd'];
echo $laatst_ingelogd;
Succes
-
29-08-2012, 17:22 #5
- Berichten
- 676
- Lid sinds
- 13 Jaar
Re: User laatst online
Beste Sefa,
Bij ID heb je 1 gezet, echter moet de sessie herkennen om welke user het gaat. Ik heb een main.php pagina waar de gebruiker komt na het inloggen, komt hier dan de eerste code? Tevens maak ik gebruik van de volgende tabel:
Tabel naam: members
member_id int(11) unsigned
firstname varchar(100)
lastname varchar(100)
email varchar(60)
login varchar(100)
passwd varchar(32)
last_time datetime
Met vriendelijke groet,
Bas
Bas,
Als je de kolom last_time heb gemaakt doe je bij de loginfunctie dus de query;
PHP Code:$query = mysql_query("UPDATE gebruikers SET last_time = NOW() WHERE id = '1'");
Om de last_time te verkrijgen doe je dit;
PHP Code:$query = mysql_query("SELECT DATE_FORMAT(last_time, '%d-%m-%Y %H:%i:%s') AS laatst_ingelogd FROM gebruikers");
$rij = mysql_fetch_assoc($query);
$laatst_ingelogd = $rij['laatst_ingelogd'];
echo $laatst_ingelogd;
Succes
-
29-08-2012, 17:27 #6
- Berichten
- 158
- Lid sinds
- 13 Jaar
Re: User laatst online
Dan kan je die 1 veranderen in de $_SESSION['user_id']; of wat dan ook? Lijkt me simpel!?
-
29-08-2012, 17:44 #7
- Berichten
- 676
- Lid sinds
- 13 Jaar
Re: User laatst online
PHP is allemaal nog relatief nieuw voor me, niets is voor mij op dit gebied dus echt simpel :P
Ik heb op dit moment deze code:
<?php
$query = mysql_query("UPDATE members SET last_time = NOW() WHERE id = '$_SESSION['user_id']'");
$query = mysql_query("SELECT DATE_FORMAT(last_time, '%d-%m-%Y %H:%i:%s') AS last_time FROM members");
$rij = mysql_fetch_assoc($query);
$last_time = $rij['last_time'];
echo $last_time;
?>
Hierbij krijg ik de volgende foutcode:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/user/domains/domein.nl/public_html/main.php on line 5
Line 5: $query = mysql_query("UPDATE members SET last_time = NOW() WHERE id = '$_SESSION['user_id']'");
-
29-08-2012, 18:09 #8
- Berichten
- 158
- Lid sinds
- 13 Jaar
Re: User laatst online
Probeer hem zo maar eens;
PHP Code:$query = mysql_query("UPDATE members SET last_time = NOW() WHERE id = '" . $_SESSION['user_id'] . "'");
-
29-08-2012, 18:20 #9
- Berichten
- 676
- Lid sinds
- 13 Jaar
Re: User laatst online
Krijg nu het volgende:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'apache'@'localhost' (using password: NO) in on line 5
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in on line 5
Warning: mysql_query() [function.mysql-query]: Access denied for user 'apache'@'localhost' (using password: NO) in on line 6
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in on line 6
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in on line 7
Terwijl ik wel de config.php included heb..
-
29-08-2012, 19:01 #10
- Berichten
- 158
- Lid sinds
- 13 Jaar
Re: User laatst online
Dan is er iets mis in je config.
-
29-08-2012, 19:03 #11
- Berichten
- 676
- Lid sinds
- 13 Jaar
Re: User laatst online
Nee, de config werkt ook bij andere delen van het script gewoon. Er zit ook een Mysql fout in de code
Aanvullend bericht:
Komen we blijkbaar weer bij de volgende vreemde fout, inloggen etc werkt gewoon allemaal met de config en hier geeft hij weer opeens aan geen connectie kunnen vinden terwijl de config included is...-
Aanvullend bericht:
De code probeert de file function.mysql-query op mijn host te vinden, echter is dit een actie en geen file.. Fout zit in dit gedeelte:
$query = mysql_query("UPDATE members SET last_time = NOW() WHERE id = '" . $_SESSION['user_id'] . "'");
$query = mysql_query("SELECT DATE_FORMAT(last_time, '%d-%m-%Y %H:%i:%s') AS last_time FROM members");
$rij = mysql_fetch_assoc($query);Laatst aangepast door B. Brouwer : 29-08-2012 om 19:42 Reden: Automatisch samengevoegd.
-
29-08-2012, 19:58 #12
- Berichten
- 980
- Lid sinds
- 17 Jaar
Re: User laatst online
Grappig dat je niet voor iets wilt betalen wat, jouw insziens, maar 2 minuten duurt om in te bouwen. Er zit meer aan programmeren dan alleen even wat code spuwen. Succes als mysql_query deprecated wordt trouwens. Trouwens wel mooi om te zien dat je het alsnog zelf inbouwt, respect daarvoor.
mysql_query gebruikt de connection als tweede parameter, die je via mysql_connect aangemaakt hebt. Daarom krijg je die error dat apache niet de database mag gebruiken.
-
30-08-2012, 07:12 #13
- Berichten
- 676
- Lid sinds
- 13 Jaar
Re: User laatst online
En je hebt verder geen idee hoe ik dit oplos?
Betalen voor iets vind ik niet erg hoor, maar ik hoop dat ik bij zoiets als dit nog wel eens gratis geholpen kan worden. Als dat niet het geval is helaas, dan laat ik de functie voorlopig weg en ga ik eerst zelf wat kennis op doen van PHP.
Grappig dat je niet voor iets wilt betalen wat, jouw insziens, maar 2 minuten duurt om in te bouwen. Er zit meer aan programmeren dan alleen even wat code spuwen. Succes als mysql_query deprecated wordt trouwens. Trouwens wel mooi om te zien dat je het alsnog zelf inbouwt, respect daarvoor.
mysql_query gebruikt de connection als tweede parameter, die je via mysql_connect aangemaakt hebt. Daarom krijg je die error dat apache niet de database mag gebruiken.
-
30-08-2012, 12:23 #14
- Berichten
- 980
- Lid sinds
- 17 Jaar
Re: User laatst online
In je config wordt een mysql_connect statement gebruikt die in een variabele gezet wordt; bijv:
PHP Code:$connection = mysql_connect(xxxxx);
PHP Code:mysql_query(xxxx,$connection);
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic