Seite 1 von 2

Timestamp

Verfasst: 26.10.2008 00:12
von vbboard
Hallo,
also ich möchte etwas per Timestamp erledigen...
Der Timestamp wird in beim ersten aufruf der datei in eine Datenbank gespeichert, mit paar andren Datensätzen z.b. Name und Beruf (nur theoretisch)
nun soll das ganze für 10 minuten so wie es eben vor 10 minuten war ausgegeben werden, doch wenn diese 10 minuten überschritten werden soll das ganze aktualisiert werden.
weiß einer wie man das lösen könnte? also bzw. wie ich die abfrage mit dem rechnen hinbekomme wie alt der timestamp ist?
mfg

Verfasst: 26.10.2008 08:27
von TLoD
mhhhh willst du einfach nur die zeit wissen die vergangen ist, so rechen doch einfach mit den beiden werten die du eh hast.

$vergangen = (time()) - ($timestamp))

vergangen und timestamp ist natürlich frei erfunden - für timestamp hast du ja schon eine row und für vergangen lässt dir halt was einfallen ;)

Verfasst: 26.10.2008 14:40
von vbboard
den muss ich jetzt nicht verstehen?

Verfasst: 26.10.2008 16:17
von gn#36
Das ist eigentlich das grobe Prinzip, fehlt nur noch ein if.

Code: Alles auswählen

$vergangen = time() - $urspruengliche_zeit;
if($vergangen > 600)
{
//10 min rum, aktualisieren
$urspruengliche_zeit += $vergangen;
}
else
{
//noch keine 10 min rum
}
Da wir keine Ahnung von deiner sonstigen Umgebung haben ist das nur ein Beispiel das du auf deine Umgebung anpassen musst (aber das hier ist ja Coding & Technik, ein wenig Eigeninitiative ist also gefragt).

Verfasst: 26.10.2008 16:52
von vbboard
jaja thx denke das ich so weiter komme

mhh...

hab mal was versucht, aber das funktioniert nicht...
http://78.46.206.226/forum/serve1.txt

Verfasst: 27.10.2008 00:09
von gn#36
Und was willst du da jetzt mit anstellen? Ich sehe da keine Versuche von dir drin das einzubauen.

Das einzige was mir auffällt: $time1 ist keine Zeit sondern ein Link auf ein Mysql Ergebnis, was auch immer du damit vorhast, du musst erst die Daten aus der DB holen (oder deine andere Funktion benutzen, selbst dann ist es aber immer noch ein Array).

Verfasst: 27.10.2008 02:11
von djchrisnet

Code: Alles auswählen

/**
*
* @package - Board3portal
* @version $Id: main_menu.php 325 2008-08-17 18:59:40Z kevin74 $
* @copyright (c) kevin / saint ( www.board3.de/ ), (c) Ice, (c) nickvergessen ( www.flying-bits.org/ ), (c) redbull254 ( www.digitalfotografie-foren.de ), (c) Christian_N ( www.phpbb-projekt.de )
* @based on: phpBB3 Portal by Sevdin Filiz, www.phpbb3portal.com
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
*
*/
??????? Kein Kommentar

Code: Alles auswählen

if (!defined('IN_PHPBB'))
{
   exit;
}

if (!defined('IN_PORTAL'))
{
   exit;
}
besser:

Code: Alles auswählen

if (!defined('IN_PHPBB') || !defined('IN_PORTAL'))
{
   exit;
}

Code: Alles auswählen

	$result = mysql_query($sql) OR die(mysql_error());

Code: Alles auswählen

	$result = db_query($sql) OR die(mysql_error());
doppelt gemoppelt?!?

PS: Die auflistung könnte ich noch ein wenig weiter führen.
PS: da dieses script anscheind in phpBB3 eingebunden werden soll, wieso nutzt du nicht die $db classe?

Verfasst: 27.10.2008 17:50
von vbboard
weil ich mit der db klasse von phbb 3 voll nicht klar komme...

naja jetzt hab ich weiter gemacht (oben auch aktualisiert) aber es meldet:

Code: Alles auswählen

arse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\forum\portal\block\server.php on line 36

Verfasst: 27.10.2008 18:07
von gn#36
Ich glaube du musst dich mal generell mit PHP Syntax beschäftigen.

Unten steht ein else mitten im Nirgendwo (ein else geht nur wenn direkt vorher ein if oder elseif war), unexpected T_STRING bedeutet fast immer, dass man irgendwo sowas vergessen hat: " oder '
In deinem Fall hier:

Code: Alles auswählen

$sql = "SELECT time
FROM phpbb_server;
Wie schon gesagt wird es danach aber eine andere Fehlermeldung geben die in Richtung unexpected T_ELSE oder so gehen dürfte (es sei denn ich habe noch einen anderen Syntax Fehler übersehen).

Verfasst: 27.10.2008 18:17
von Boecki91
Hey, das ist eine Basis Fehlermeldung, die jeder halbwegsvernüftige Programmierer hin bekommen sollte, hast du einen Editor mit Syntax-Hervorhebung?

Bei mir ist in in Zeile 36 der String nicht in String Farbe, das Zeug davor aber schon, d. Das Zeug ist ein String obwohl es das nicht sein sollte.

Wie lösen wir das? Genau. Fehlendes " hin machen :D

Zum DBAL von phpBB3:

http://wiki.phpbb.com/Database_Abstract ... QL_queries

Relativ einfach, das mit den Arrays vielelcith nicht, aber einfach mal bis zum Ende Lesen.


Noch was: Wie kann ein Server (IP) Auf einem Port online sein und auf einem anderem nicht?
Vielleicht wenn man die Firewall falsch konfiguriert.

Wenn du Sockets öffnest, solltest du diese auch wieder schließen ;)

Du mir und anderen den gefallen und kopiere keinen Code ohne ihn zu verstehen, die oben genannten Dinge, die überschüssigen Variablen, die unterschiedliche Code-Einrückung und der weiter Syntax-Fehler(Den ein PHP-Tutorial-Schaffer bewältigen sollte) und die vielen logischne Fehler lassen für mich nur diesen Schluss zu ;)

Edit:
@gn#36
Mehr Syntax-E sehe ich auch nicht, hast du ne Idee zu welchem If das else gehört? Achja den Sinn dieser Leere könnteste auch gleich äußern ;)
Edit2:
Wenn man das else-Zeug weg macht kommt noch ein unerwartes Ende habe einfach mal nen } hin gemacht :D
Edit3:
Server mit gleicher Ip und anderen Ports können doch Online und Offline zu gleich sein, wenn ich dem Script glauben mag.

Edit4:
Ein privater Wow Server ist illegal.
Absatz 3 B http://www.wow-europe.com/de/legal/termsofuse.html hat geschrieben:B. Nur Blizzard Entertainment oder seine Lizenznehmer haben das Recht, als Host von World of Warcraft zu fungieren. Dementsprechend dürfen Sie weder als Spielleiter (Host) fungieren, noch Dienste anbieten, die der Initiierung von Spielen dienen, noch Kommunikationsprotokolle abfangen, emulieren oder weiterleiten, die von Blizzard Entertainment als Teil von World of Warcraft genutzt werden, unabhängig davon, welche Methoden dabei zur Anwendung kommen. Zu diesen untersagten Methoden gehören insbesondere, jedoch nicht ausschließlich, die Emulation von Protokollen, Rückentwicklung oder Modifizierung von World of Warcraft, das Hinzufügen von Komponenten zu World of Warcraft oder die Benutzung von Hilfsprogrammen, die gestatten, als Host von World of Warcraft zu fungieren.