kann mir jemand kurz beschreiben wie man so ein onlinestatus in ein einem userprofil mit php anzeigen lassen kann? danke
mfg
kann mir jemand kurz beschreiben wie man so ein onlinestatus in ein einem userprofil mit php anzeigen lassen kann? danke
mfg
Die umsetzung ist deine sache, wichtig dabei ist nur da du irgentwie einen weg findest einen zeitstempel anzulegen mit dem user zu verknüpfen,
und die daten dann abgleichst und nichtmehr benötigte datensätze zu löschen.
geht am einfachasten so...
du hast in der mysql datenbank eine spalte letzte aktion.
Immer wenn der user eine seite läd wird dort die aktuelle zeit eingetragen.
dann kannst du überprüfen ob
letze aktion - jetzige zei < 180 = online
also brauch ich die funktion auf jeder seite???
danke schon ma für die vielen und hilfreichen antworten
ja... aber du solltest deine loginfunktionen sowieso auf jeder seite haben für:
- Automatischen logout
- autologin
- zerstörung überfälliger sessionen
wie macht man eigendlich einen automatischen logout?
bin da noch nich wirklich hintergestiegen!
hab bis jetzt nur eine funktion die prüft ob eine session vorhanden ist!
und den logout ganz normal mit button
<?php
ob_start ();
session_start ();
session_unset ();
session_destroy ();
ob_end_flush ();
?>
Alles anzeigen
kannst du mir bitte ein paar tipps geben? mach php erst seit ungefähr 4 monaten
mfg
Ich hatte da diese idee.
<?php
session_start();
include_once('../include/config.inc.php');
include_once('../include/functions.inc.php');
//aktuelle microtime
$jetzt = time();
//username
$user = addslashes($_SESSION['user']);
//verbinden zur datenbak
condb($db);
//errorreporting fals verbindung fehlschlägt
error($report);
$sql = ("SELECT * FROM online_chat ");
if ($resultat = $db->query($sql)) {
// Antwort der Datenbank in ein Objekt übergeben und
// mithilfe der while-Schleife durchlaufen
while($daten = $resultat->fetch_object() ){
//ab hier ausgeben der spalten.
if ($daten->user == '') {
$sql = ("INSERT INTO online_chat VALUES('','".$user."','".$jetzt."')");
$db->query($sql);
echo $daten->user;
} elseif ($jetzt <($daten->time+60*1)) {
echo $daten->user;
echo $daten->time;
} elseif (($user == $daten->user) & ($jetzt != $daten->time)) {
$sql1 = ("UPDATE online_chat SET time ='" . $jetzt ."' WHERE user ='".$user."' ");
if ($result = $db->query($sql1)) {
echo $daten->user ,'<br>';
echo $daten->time;
} else {
echo 'Fehler';
}
}
}
// Speicher freigeben
$resultat->close();
} else {
// Sollten keine Datensätze enthalten sein
exit;
}
// Verbindung zum Datenbankserver beenden
$db->close();
?>
Alles anzeigen
In dem code waren (is schon ne weile her kommt aus meiner snippetsammlung) einige fehler die ich damals noch nich verstanden hatte aber so in der art liese sich das in mysql realiesieren
danke für deine bemühungen
Kein problem gerne doch wie gesagt einige fehler sind da noch die su erstmal finden solltest auserdem solltest du das script auf jeden fall noch auf deine seite anpassen
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.