wenn das fenster geschlossen wird dann...
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
allerding
bestimmten zeitraum
code
datenbank
datum
eintragen
fenster
geld
halbe stunde
halben stunde
liste
minute
problem
realisieren
schliessen
sekunde
set
spalte
stunde
-
Hi!
Ich bin nicht sicher ob es hier hin geh?rt, aber ich denke weil es etwas mit PHP/Mysql zu tun hat d?rfte es passen.
Mein Problem ist, das ich in eine Datenbank eintrage wer online ist. Da ich ein Script habe, das sonst nicht arbeitet. Mit Sessions kann ich dies nicht realisieren.
Allerding gibt es dort ein Problem. Denn diese Script f?hrt sich durch einen Cronjob nach einem bestimmten Zeitraum aus. Es fagt dann die Daten in der Datanbank ab. Die User die Online sind, bekommmen Geld. Die User, die nicht online sind, bekommen kein Geld. Wenn man nun ber einfach das fenster schlie?t, ohne sich auszuloggen wird der user nicht aus der Online Liste genommen! Das hei?t das er trotz des Fehlens seine Goldeinheiten erh?lt! Dies darf aber nicht passieren. Nun bracuhe ich einen Code, der einen Code ausf?hrt wenn ein Fenster geschlossen wird.
Ich w?re euch sehr verbunden wenn ihr eine L?sung meines Problemes posten w?rdet.
PS:Wie h?rt sich das geschriebene an? Ich hab mal f?r ne Arbeit ge?bt^^ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
du k?nntest na?trlich beim schliessen des fenster durch ein java script eine andere seite aufrufen, aber manche leute sind schneller als java script und das fenster is schneller zu, als das der code ausgef?hrt wird
geht zwar nich, aber egal ;)
das geht mit OnUnLoad
aber das prob dabei is, dass nich jeder js hat usw.
also schreib einen timestamp in die db, bei jedem aufruf fragste dann ab, ob der timestamp ?lter als so und soviel is... -
Wie bitte?
Nun, ich verstehe. Ich habe auch eine Spalte in meine Datenbank in der ich die Zeit eintragen lasse. Du meinst also das ich eine bestimmte Zeit nehmen soll, wenn diese Zeit ?berschritten ist wird die Spalte auf Outloggt gestellt.
Nun, dies w?re eine L?sung. Dann k?nnte man h?chstens 1mal die Goldabgabe ?berlisten. Diese L?sung h?rt sich sehr vielversprechend an.
Vielen Dank, ich bin f?r alle weiteren Vorschl?ge nat?rlich offen!
Ich habe hier einen Code, welcher aber nicht funktionieren will wie ich es will!^^
Ich w?re euch sehr verbunden wen ihr die Fehler herausfischen k?nntet.
hier der Code:
<?php
session_start();
include ('dbconnect.php');
?>
<html>
<head>
<style type="text/css">
body{font-family:Verdana, Arial, Helvetica, sans-serif; font-size:14px;}
</style>
</head>
<body>
<?php
$abfrage = "SELECT * FROM user";
$sql = mysql_query($abfrage) OR die(mysql_error());
while($row = mysql_fetch_array($sql))
{
$user = $row['user'];
if($_SESSION['nick'] == $user)
{
$get_updatetime = "SELECT * FROM user WHERE name = '".$row['name']."'";
$query_updatetime = mysql_query($get_updatetime) OR die(mysql_error());
$row_updatetime = mysql_fetch_array($query_updatetime);
$yet = time();
$hour = 3600;
if($row_updatetime['money_update'] <= $yet - $hour)
{
$geld_zuwachs = $row_updatetime['level_money'] * 100;
$money = "UPDATE user SET money = money + '".$geld_zuwachs."' WHERE name = '".$row_updatetime['name']."'";
$eintrag = mysql_query($money);
}
}
else
{
echo'Der User <b>'.$row['name'].'</b> war nicht online und bekam somit kein Geld<br>';
}
}
?>
</body>
</html>
3600 enspricht hier aber net ner halben stunde, wieviel is das nomma?^^ -
Mahlzeit adrians!
Eine Minute hat 60 Sekunden,
eine Stunde hat 60 Minuten, daher:
eine Stunde == 3600 Sekunden und
eine halbe Stunde == 1800 Sekunden
M?G
alopex -
Thx, alopex.
Ich ha jetzt auch den Code fast fertig, ein paar kelinen Macken hat er noch, aber er sollte bald gehen! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage