php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-02-2004, 16:44
roNn
 Member
Links : Onlinestatus : roNn ist offline
Registriert seit: Oct 2003
Ort: /home/bw
Beiträge: 245
roNn ist zur Zeit noch ein unbeschriebenes Blatt
roNn eine Nachricht über ICQ schicken
Standard online seit..

Hi,

also ich habe ein Seite mit dem Profil, wenn man eingeloggt ist erscheint da eben dies und die Zeit wie lange man schon on ist.
Das Problem ist, das die Minuten stimmen, allerdings die Stunden nicht.. es zeigt immer 1 Stunde an auch wenn man nur 5 Minuten eingeloggt ist :/

PHP-Code:
  <tr> 
    <td class="tab"> 
      <? if(online($user['UserID'])) echo "Eingeloggt seit:"; else echo "Zuletzt online am:"?>
    </td>
    <td class="tab2"><strong> 
      <? if(online($user['UserID']))  { 
    
$login time("U") - $user['UserLoginTime']; 
echo 
date("H:i:s"$user['UserLoginTime'])." ( ".date("G"$login)." Stunde(n) und ".date("i"$login)." Minuten)"
    } else {
    echo 
date("d"$user['UserLastLogin']).". ".monat()." ".date("Y - H:i"$user['UserLastLogin']); } ?>
      </strong></td>
  </tr>
Das ist der wichtige Part:

PHP-Code:
$login time("U") - $user['UserLoginTime']; 
echo 
date("H:i:s"$user['UserLoginTime'])." ( ".date("G"$login)." Stunde(n) und ".date("i"$login)." Minuten)"
So, ich versuche halt die jetztige Zeit abzuziehen von der Loginzeit.. damit hätte ich ja die Differenz, d.h. die Zeit wie lange man schon online ist.. wie gesagt, mit Minuten funzt das, mit den Stunden nicht.

Evtl. könnte mir jmd. helfen?

mfg..

Geändert von roNn (15-02-2004 um 16:46 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 15-02-2004, 16:51
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
ich versuche halt die jetztige Zeit abzuziehen von der Loginzeit..
müsste das nicht andersrum?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 15-02-2004, 16:54
roNn
 Member
Links : Onlinestatus : roNn ist offline
Registriert seit: Oct 2003
Ort: /home/bw
Beiträge: 245
roNn ist zur Zeit noch ein unbeschriebenes Blatt
roNn eine Nachricht über ICQ schicken
Standard

Wenn ich es andersrum mache kommt das:

Code:
Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in ***\profile.php on line 58

Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in ***\profile.php on line 58
Hier nochmal Zeile 58:

PHP-Code:
$login $user['UserLoginTime'] - time("U"); 
echo 
date("H:i:s"$user['UserLoginTime'])." ( ".date("G"$login)." Stunde(n) und ".date("i"$login)." Minuten)"

Geändert von roNn (15-02-2004 um 16:59 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 15-02-2004, 16:58
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

ok, dann muss ich deinen code erstmal nachvollziehen:

PHP-Code:
$login time("U") - $user['UserLoginTime']; 
echo 
date("H:i:s"$user['UserLoginTime'])." ( ".date("G"$login)." Stunde(n) und ".date("i"$login)." Minuten)"
warum übergibst du time() einen wert?
$user['UserLoginTime'] enthält einen Unix-Timestamp?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5 (permalink)  
Alt 15-02-2004, 17:01
roNn
 Member
Links : Onlinestatus : roNn ist offline
Registriert seit: Oct 2003
Ort: /home/bw
Beiträge: 245
roNn ist zur Zeit noch ein unbeschriebenes Blatt
roNn eine Nachricht über ICQ schicken
Standard

U = Zeit seit Beginn der Unix-Zeitzählung ... mhh stimmt macht keinen Sinn.. ist weg
Dann `UserLoginTime` beeinhaltet einen UnixTimestamp.. so ist es ..
Mit Zitat antworten
  #6 (permalink)  
Alt 15-02-2004, 17:05
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

time() ist meines erachtens größer als der letze login, oder? Sollte zumindest so sein.

also time() - lastlogin = onlinezeit

echo date('xstunden, yminuten',onlinezeit);

sollte dann auch klappen.

BTW: Warum schreibst du eigentlich nicht das was du machst, sondern das gegenteil. willst du mich absichtlich in die irre führen?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7 (permalink)  
Alt 15-02-2004, 17:11
roNn
 Member
Links : Onlinestatus : roNn ist offline
Registriert seit: Oct 2003
Ort: /home/bw
Beiträge: 245
roNn ist zur Zeit noch ein unbeschriebenes Blatt
roNn eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von TobiaZ
BTW: Warum schreibst du eigentlich nicht das was du machst, sondern das gegenteil. willst du mich absichtlich in die irre führen?
Versteh nicht was du meinst, aber ich will dich sicherlich nicht verarschen falls du das meinst.. O_o

So wie dum meintest habe ich es jetzt:

PHP-Code:
$login time() - $user['UserLoginTime']; 
echo 
date("H:i:s"$user['UserLoginTime'])." ( ".date("H"$login)." Stunde(n) und ".date("i"$login)." Minuten)"
Leider ist da trotzdem noch irgendwie eine Stunde zu viel .. ich versteh das einfach nicht..
Mit Zitat antworten
  #8 (permalink)  
Alt 15-02-2004, 17:44
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

lass mal aller werte ausgeben: loginzeit, time() und die differenz

OffTopic:
Du hast eben geschrieben:
Zitat:
ich versuche halt die jetztige Zeit abzuziehen von der Loginzeit..
hast aber folgenden code:
PHP-Code:
$login time("U") - $user['UserLoginTime']; 

__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #9 (permalink)  
Alt 15-02-2004, 21:46
roNn
 Member
Links : Onlinestatus : roNn ist offline
Registriert seit: Oct 2003
Ort: /home/bw
Beiträge: 245
roNn ist zur Zeit noch ein unbeschriebenes Blatt
roNn eine Nachricht über ICQ schicken
Standard

986 $login
1076874221 time()
1076873235 $user['UserLoginTime']

Hier sind die Werte..

Und nochmal der aktuelle Code:

PHP-Code:
         if(online($user['UserID']))  {
    
$login time() - $user['UserLoginTime']; 
    echo 
$login." \$login<br>";
    echo 
time()." time()<br>";
    echo 
$user['UserLoginTime']." \$user['UserLoginTime']<br>";
    echo 
date("H:i:s"$user['UserLoginTime'])." ( ".date("H"$login)." Stunde(n) und ".date("i"$login)." Minuten)"
    } else {
    echo 
date("d"$user['UserLastLogin']).". ".monat()." ".date("Y - H:i"$user['UserLastLogin']); } 
Mit Zitat antworten
  #10 (permalink)  
Alt 15-02-2004, 22:18
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

blick deinen code net so ganz. kann aber auch daran liegen, dass du date() so oft aufrufst, ohne dass es da nen ordentlichen Grund für gibt.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #11 (permalink)  
Alt 15-02-2004, 22:28
roNn
 Member
Links : Onlinestatus : roNn ist offline
Registriert seit: Oct 2003
Ort: /home/bw
Beiträge: 245
roNn ist zur Zeit noch ein unbeschriebenes Blatt
roNn eine Nachricht über ICQ schicken
Standard

PHP-Code:
$login time() - $user['UserLoginTime']; 
echo 
date("H:i:s"$user['UserLoginTime'])." ( ".date("H"$login)." Stunde(n) und ".date("i"$login)." Minuten)"
So das ist der wichtige Teil..

PHP-Code:
$login time() - $user['UserLoginTime']; 
In die Var $login wird die Differenz zwischen der aktuellen Zeit und der Loginzeit geschrieben.

PHP-Code:
echo date("H:i:s"$user['UserLoginTime'])." ( ".date("H"$login)." Stunde(n) und ".date("i"$login)." Minuten)"
Mit dem 1. date hole ich die Loginzeit raus und gebe sie aus, beim 2. date die Stunde der Differenz und bei 3. date die Minuten der Differenz.

-> 21:26:38 ( 01 Stunde(n) und 00 Minuten)

Bei den Minuten klappt das auch ganz wunderbar, allerdings zeigt es mir immer 1 Stunde zuviel an..

An was liegt es? Ich komme einfach nicht drauf.. :/

mfg
Mit Zitat antworten
  #12 (permalink)  
Alt 17-02-2004, 21:20
roNn
 Member
Links : Onlinestatus : roNn ist offline
Registriert seit: Oct 2003
Ort: /home/bw
Beiträge: 245
roNn ist zur Zeit noch ein unbeschriebenes Blatt
roNn eine Nachricht über ICQ schicken
Standard

Weiß es denn niemand? :/
Mit Zitat antworten
  #13 (permalink)  
Alt 17-02-2004, 21:36
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

hab ja gesagt, dass du das date mal sparsamer einsetzen soll, ich hab keine lust mich durch den wirrcode durchzuarbeiten.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #14 (permalink)  
Alt 17-02-2004, 21:39
Offe1
 Member
Links : Onlinestatus : Offe1 ist offline
Registriert seit: Dec 2003
Beiträge: 478
Offe1 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

weil
PHP-Code:
echo date("H"0); 
01 ergibt.

Hat vielleicht was mit der Zeitverschiebung zu Greenwich zu tun? Vielleicht
-3600 machen.

Offe
Mit Zitat antworten
  #15 (permalink)  
Alt 17-02-2004, 21:57
roNn
 Member
Links : Onlinestatus : roNn ist offline
Registriert seit: Oct 2003
Ort: /home/bw
Beiträge: 245
roNn ist zur Zeit noch ein unbeschriebenes Blatt
roNn eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von TobiaZ
hab ja gesagt, dass du das date mal sparsamer einsetzen soll, ich hab keine lust mich durch den wirrcode durchzuarbeiten.
Hab ich doch alles erklärt..

Zitat:
Original geschrieben von Offe1
weil
PHP-Code:
echo date("H"0); 
01 ergibt.

Hat vielleicht was mit der Zeitverschiebung zu Greenwich zu tun? Vielleicht
-3600 machen.

Offe
Mhh aber sonst ist doch auch alles korrekt.. aber na gut.. das könnte schon sein, da ich ja abziehe.. mhh k ich probiers mal, danke
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

jqPlot jQuery Plotting Plugin ansehen jqPlot jQuery Plotting Plugin

jqPlot ist ein plotting und charting plugin für das jQuery Javascript framework

06.11.2019 Berni | Kategorie: AJAX/ Framework
WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

10.10.2019 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:36 Uhr.