also ich glaub wir hatten das thema schonma, aba mein logout geht nich. hier mein code[PHP]$query = mysql_query(„SELECT login, password FROM users WHERE name = '“.mysql_real_escape_string($_SESSION[„username“]). „'“) or die(mysql_error());
$row = mysql_fetch_assoc($query);
if ($row[„login“] == „0“)
echo „Logge dich bitte erst ein.“ . $_SESSION[„username“];
elseif ($row[„login“] == „0“)
{
mysql_query("UPDATE users SET `login` = 0 WHERE `name` = '".mysql_real_escape_string($_SESSION["username"]). "'") or die(mysql_error());
echo "Du hast dich erfolgreich ausgeloggt.";
session_destroy();
}
else
echo "Fehler";
[/PHP]
es soll aus der db ausgelesen werden, ob man eingeloggt is. wenn ja soll man ausgeloggt werden, wenn nein sollte man „bitte logge dich erstmal ein“ bekommen oda so. und wenn was schief ging fehler. in der db is mein login wert auf 1. wenn ich mich jez ausloggen will kommt fehler. why???
verstehe das auch nicht so ganz. Wozu sollte der aktuelle Status in der DB stehen? In der Session reicht doch, oder gibt es da noch eine tiefere Bedeutung?
Joa, also meint ihr, dass ich auf nem kompletten falschen weg bin???
mir kam das iwie sicherer vor. ich hatte irgendwann mal was von „session faken“ gehört. würde man jez ne session mit dem username faken, is man drin und hat die daten. keine ahnung, ob man das wirklich machen kann. aber wie soll ich das jez machen??? timestamp oda session. mit timestamp kenn ich mich nich aus. hab ich irgendwann nur ma in verbindung mit mysql gehört. könntest du mir bitte nochma genau erläutern, wie das funzt???
thx!
[php]
/Aktualisieren der Zeit des Users bei jedem Klick/
$sql = „UPDATE user SET zeit = „.time().“ WHERE name = '“.$_SESSION[‚username‘].„'“;
mysql_query($sql) or die(mysql_error());
[/php][php]
/*
Abrufen der Usernamen
5 Minuten Ablaufzeit (300)
*/
$time = time() - 300;
$query = „SELECT * FROM user WHERE zeit > „.$time.““;
$sql = mysql_query($query) or die(mysql_error());
while($online = mysql_fetch_object($sql)) {
$name = $online->aut_name;
$id = $online->id;
echo $name;
}
[/php]Das dient für die Online Anzeige.
gehört sich aber nicht, man arbeitet nach möglichkeit mit return werten und schreibt nicht die session um sondern schreibt source vorrausschauend.
jede variable die von einem user kommt, wird überprüft.
wenn du dies nur einmal machen willst, dann schreibe dafür eine funktion, und oder benutze eine andere variable. z.b. $username die das system generell kennt.
die sessions (inhate) liegen auf deinem server in temporären files. lediglich ein cookie verknüpft die temporäre file wieder mit dem cookie. alternativ kann der dateiname (hash) auch direkt der session (klasse) übergeben werden.
so, jez hab ich endlich ma wieda zeit. hab auch gleich ein paar fragen zu gimlis code. wofür is die ablaufzeit und was is time()? und wie soll ich das eurer meinung nach jez machen. schon über db oder einfach nur session_destroy?
ich dacht eig das wäre mehr ne erklärung, wofür die funktion gut is. aber wenn ich sie öfters benutzen sollte, gerne. wofür könnte man das jez denn so benutzen??