ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Kaleder Gebutrstag Fehler

Geschlossen
  1. #1
    User Pic
    Nachtwolf Hall Of Fame
    Registriert seit
    10.11.2006
    Beiträge
    533
    Beitragswertungen
    16 Beitragspunkte
    Hi...

    Habe ein fehler im Kalender festgestellt, und zwar wenn man ein Geburtstagdatum unter 1970 im profil einträgt (z.b 1965) wird Trorzdem im Kalender angezeigt das man 37 Jahre alt wird!:P

    Ich verfüge zwar über PhP kenntnisse, aber dazu habe ich keine lösung gefunden!

    Würde mich über eure Tipp+s und Hilfen freuen!

    MfG WDS Nachtwolf


    verwendete ilchClan Version: 1.1

    betroffene Homepage: www.wolfsdragoner-sh.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    HeX Hall Of Fame
    Registriert seit
    14.01.2006
    Beiträge
    2.113
    Beitragswertungen
    1 Beitragspunkte
    das liegt an der unixzeit würde ich mal sagen, die zählt von 1970 aufwärts.. und das davor gibs einfach nicht, beziegsweise als negative zahl?
    Discite moniti!
    www.pixelbash.de
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Nachtwolf Hall Of Fame
    Registriert seit
    10.11.2006
    Beiträge
    533
    Beitragswertungen
    16 Beitragspunkte
    So weit war ich auch schon *lol*

      if ($date > $jetzt) {
    	$alter = date("Y",$alter) - 1970 +1;
    	} else {
    	$alter = date("Y",$alter) - 1970;
    	}
    	$row = array(
        'title' => $alter.'. Geburtstag von '.$r['name'],
        'text'  => 'Der '.$alter.'. Geburtstag von [url=http://'.($_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"]).'?user-details-'.$r['id'].'][b]'.$r['name'].'[/b][/url]',
        'time'  => $date + 99,
        'id'    => '999'.$r['id'],
      );
    	$data_id['999'.$r['id']] = $row;
    	$data[$date][] = $row;
    }


    Aber es muss ja eine möglichkeit geben dieses ein wenig abzu änderndas er sagen wir mal ab 1950 oder 60 anfängt zu zählen! Man möchte ja nicht ewig jung bleiben *loö*;)

    MfG
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Wie Hex schon sagt, wen als Speicherungsformat der Unixtimestamp benutzt wird, gehts nunmal nicht, du könntest allerding in der Datenbank ein andere Datumsformat wählen, allerdings weiß ich nicht, wieviel du dann im Script dafür umschreiben musst.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    s_down Mitglied
    Registriert seit
    11.04.2005
    Beiträge
    1.194
    Beitragswertungen
    0 Beitragspunkte
    Genau das Datum wird in der Datenbank so abgelegt.
    Das Problem ist dann das z.B. bei der Geburtstagsbox dann die Datenbank abfrage viel schwiriger wird da du das Datum. z.B. 24.08.1965 nacher bei den Punkten trennen müstest und für die sortierung ziemliche Umstände erhälst(so bei der Geburtstagsbox für 1.0.5)
    Probleme mit dem installieren?
    www.ilch.de/doku-install105.html
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Ich dachte eigentlich MYSQL kann auch mit anderen Datumsformaten umgehen und PHP kann diese doch dann auch ohne großes hin und her interpretieren oder?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Clarix Mitglied
    Registriert seit
    29.10.2007
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    Im Kalender-Script habe ich ab Zeile 79 mal den Code geändert:
    while ($r = db_fetch_assoc($result)) {
      list($y,$m,$d) = explode('-',$r['gebdatum']);
    	$date  = mktime(0,0,0,$m,$d,date('Y'));
    	
    	//Begin of Edit by Clarix
    	
    	$jetzt = time();
    	
    	$temp1 = 0;
    	$temp2 = 0;
    	$temp3 = 0;
    
    	$a_geb = explode("-",$r['gebdatum']);
    	$alter2 = date("Y",time())-$a_geb[0];
    
       	$tag = $a_geb[2];
       	$mon = $a_geb[1];
       	$jah = $a_geb[0];
    
    	if ($mon > date("m")){$temp1 = 2;}
    	if ($mon == date("m")){$temp1 = 1;}
    	if ($tag > date("d")){$temp2 = 1;}
    
    	$temp3 = ($temp1 + $temp2);
    
    	if ($temp3 > 1){ $alter = ($alter2 -1); }
    	else{ $alter = $alter2; }
    	
    	if ($date > $jetzt) {
    	$alter = $alter +1;
    	}
    	
        // End of Edit by Clarix
    	
    	$row = array(
        'title' => $alter.'. Geburtstag von '.$r['name'],
        'text'  => 'Der '.$alter.'. Geburtstag von [url=http://'.($_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"]).'?user-details-'.$r['id'].'][b]'.$r['name'].'[/b][/url]',
        'time'  => $date + 99,
        'id'    => '999'.$r['id'],
      );
    	$data_id['999'.$r['id']] = $row;
    	$data[$date][] = $row;
    }


    Das sollte funktionieren.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Die Altersberechnung wurde in einem der letzten Updates schon korrigiert, der Thread ist schon etwas älter.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Clarix Mitglied
    Registriert seit
    29.10.2007
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    In welcher Version wurde denn die erfolgreiche Änderung vorgenommen?

    In der 11h- Version kommt nicht nur die Fehlermeldung:

    Warning: mktime(): Windows does not support negative values for this function in xxx\xxx\include\contents\kalender.php on line 82

    sondern es wird nach wie vor das Alter nur bis 1970 berechnet und angezeigt. Sprich: Geburtstag im Jahr 1962, aber: 2007-1970=37. Richtig wäre aber 45...

    Die obige Änderung (Clarix v. 05.11.) macht beide Fehler, die nur bei der Listenansicht des Kalenders auftreten, nicht in der Geb.- Box, wett.
    zwinker


    Zuletzt modifiziert von Clarix am 06.11.2007 - 19:07:39
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Ja du liest woran es liegt, Windows, allerdings wird wohl jeder Webspace der nicht gerade auf einem eiegen Root ist auf Unix gehostet und da gehts zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Clarix Mitglied
    Registriert seit
    29.10.2007
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    Leider liegt es nicht an Windows.
    Bei Linux mit apache kommt lediglich die Fehlermeldung nicht:

    Warning: mktime(): Windows does not support negative values for this function in xxx\xxx\include\contents\kalender.php on line 82

    Aber berechnet wird trotzdem falsch, weil zur Anzeige auch der Unix- timestamp genutzt wurde.

    Mit der Korrektur wird er für die Anzeige nicht genutzt.
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Komisch, warum es dann bei mir und anderen geht?


    Zuletzt modifiziert von Mairu am 06.11.2007 - 21:43:05
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Clarix Mitglied
    Registriert seit
    29.10.2007
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    Ist leider so auf meinen Testrechnern.
    Mit der Edit-Version geht es aber auf allen Beiden.

    Na ja. Wer es braucht, nimmts, wer´s nicht braucht, bleibt beim Alten.

    Grüße und Drink
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Prophet Mitglied
    Registriert seit
    19.11.2007
    Beiträge
    1
    Beitragswertungen
    0 Beitragspunkte
    ich nutze die neue Version und da ist es immer noch enthalten

    isf-schwarzburg.de


    Zuletzt modifiziert von Prophet am 19.11.2007 - 16:57:30
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Clarix Mitglied
    Registriert seit
    29.10.2007
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    Schau den Post vom 5.11. in diesem Thread.Diesen Code so ersetzen, dann geht es ;-)
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten