Wer ist hier? 1 Gäste
Birthdate Panel falsche Jahres Anzeige
|
|
AlexH99 |
Geschrieben am 01.04.2010 00000004 06:55
|
Neuling Beiträge: 6 Registriert am: 22.01.10 Fusioneer: 14 years 10 months 2 weeks 19 days 19 hours 30 minutes 46 seconds |
Hallo, das Birthdate Panel zeigt bei mir die falschen Jahre der Geburtstage an. Und zwar genau um 1 Jahr weniger. Bei allen Usern. Datum im PHP passt. z.B: Geb.: 01.04.1970 - wäre dann heute 40 Jahre - zeigt aber 39 Jahre. Ist der Bug bekannt? Und was kann ich da tun. Vielen Dank für eure Hilfe Gruß Alex Bearbeitet von AlexH99 am 01.04.2010 00000004 06:56 |
|
|
SC-Ad-Bot | Advertisement |
| |
AlexH99 |
Geschrieben am 01.04.2010 00000004 07:52
|
Neuling Beiträge: 6 Registriert am: 22.01.10 Fusioneer: 14 years 10 months 2 weeks 19 days 19 hours 30 minutes 46 seconds |
Mmh Eigenartig. Die Datumsanzeige stimmt in PHP. Noch ein Tipp wo ich schauen könnte? Danke schon mal für die prompte Antwort. Gruß Alex |
|
|
emblinux |
Geschrieben am 01.04.2010 00000004 08:02
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 2 months 1 weeks 8 days 2 hours 34 minutes 9 seconds |
Ich glaube so etwas schon mal gelesen zu haben. Dort lag es letzendlich am Script selbst, die Berechnung des Geburtstages war nicht ganz korrekt.
|
|
|
emblinux |
Geschrieben am 01.04.2010 00000004 08:47
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 2 months 1 weeks 8 days 2 hours 34 minutes 9 seconds |
Alternativ mal eine andere Funktion. Code Download Code function getAlter($datum) Dieser Funktion braucht man lediglich das Geburtsdatum übergeben, z.B $data['user_birthdate'] Diese Funktion wird z.B. im Wer ist online-Panel benutzt und hat keinerlei Probleme. |
|
|
AlexH99 |
Geschrieben am 01.04.2010 00000004 08:48
|
Neuling Beiträge: 6 Registriert am: 22.01.10 Fusioneer: 14 years 10 months 2 weeks 19 days 19 hours 30 minutes 46 seconds |
Ja steht bei mir auch so drin. Doch woher greift er das Jahr. Wie gesagt in der Datumsanzeige steht "2010" Kann ich die neue Funktion ind das Script einbinden? Wenn ja wo....Danke für eure prompthe Hilfe ! Bearbeitet von AlexH99 am 01.04.2010 00000004 08:50 |
|
|
emblinux |
Geschrieben am 01.04.2010 00000004 08:56
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 2 months 1 weeks 8 days 2 hours 34 minutes 9 seconds |
Es wird das Jahr vom Server und aus dem Geburtstags-Datum benutzt. Die Funktion bindest du einfach in die Datei mit ein, bzw. dort mithin, wo die andere Funktion zur Altersberechnung steht. Der Aufruf kann dann z.B. so aussehen. Code Download Code echo getAlter($user_data['user_birthdate']); |
|
|
AlexH99 |
Geschrieben am 01.04.2010 00000004 16:37
|
Neuling Beiträge: 6 Registriert am: 22.01.10 Fusioneer: 14 years 10 months 2 weeks 19 days 19 hours 30 minutes 46 seconds |
Würde dies dann alles in dieses Script gepackt? Wenn ja wo? Sorry bin nicht so ganz versiert mit der Thematik aus diesem Grund frage ich. [geshi=php] <?php /*-------------------------------------------------------+ | PHP-Fusion Content Management System | Copyright © 2002 - 2008 Nick Jones | http://www.php-fusion.co.uk/ +--------------------------------------------------------+ | Birthdate Panel for PHP-Fusion v7 | Author: Ralf Thieme | Homepage: www.PHPFusion-SupportClub.de +--------------------------------------------------------+ | This program is released as free software under the | Affero GPL license. You can redistribute it and/or | modify it under the terms of this license which you | can read by viewing the included agpl.txt or online | at www.gnu.org/licenses/agpl.html. Removal of this | copyright header is strictly prohibited without | written permission from the original author(s). +--------------------------------------------------------*/ if (!defined("IN_FUSION")) { die("Access Denied"); } if (!function_exists("ALTER")) { function ALTER($gebd,$gebm,$geby){ $alter = date("Y") - $geby; if (mktime(0,0,0,date("m"),date("d"),date("Y")) < mktime(0,0,0,$gebm,$gebd,date("Y"))) { $alter--; } return $alter; } } if (file_exists(INFUSIONS."birthdate_panel/locale/".LOCALESET."index.php")) { include INFUSIONS."birthdate_panel/locale/".LOCALESET."index.php"; } else { include INFUSIONS."birthdate_panel/locale/German/index.php"; } $months = explode("|", $locale['months']); $month = $months[number_format(date("m"))]; $result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_birthdate like '____-".date("m")."-__' ORDER BY DAYOFMONTH(user_birthdate) ASC"); openside($locale['pfsc_gb1'].$month); if (dbrows($result)) { while($data = dbarray($result)) { if (array_key_exists("user_birthdate", $data) && $data['user_birthdate'] != "0000-00-00") { $user_birthdate = explode("-", $data['user_birthdate']); if ($user_birthdate[2] == date("d")) { echo "<img src='".INFUSIONS."birthdate_panel/birthday.gif' alt='bd' /> \n"; } echo $user_birthdate[2].".".$user_birthdate[1]." "; echo "<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>".trimlink($data['user_name'], 15)."</a>"; echo " (".ALTER(number_format($user_birthdate['2']),number_format($user_birthdate['1']),$user_birthdate['0']).")"; echo "<br />\n"; } } } else { echo $locale['pfsc_gb2'].$month; } closeside(); ?> [/geshi] |
|
|
emblinux |
Geschrieben am 02.04.2010 00000004 04:08
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 2 months 1 weeks 8 days 2 hours 34 minutes 9 seconds |
Ich habs mal soweit angepasst, jedoch ungetestet. Code Download Code <?php |
|
|
Porky |
Geschrieben am 10.04.2010 00000004 07:49
|
Neuling Beiträge: 9 Registriert am: 18.01.09 Fusioneer: 15 years 10 months 3 weeks 23 days 21 hours 42 minutes 51 seconds |
Moinsen Habe das selbe Problem mit dem Birthday Panel. Habe die Lösung von emblinux ausprobiert aber leider hat es nicht funktioniert. Es zeigt immer noch an das einer 18 wird obwohl er 1991 geboren wurde. Der Server von mir läuft auf der richtigen zeit. @emblinux:hast du noch eine Idee? Gruß Porky Stark sein bedeutet nicht, nie zu fallen! Stark sein bedeutet, immer wieder auf zu stehen! |
|
|
emblinux |
Geschrieben am 10.04.2010 00000004 07:59
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 2 months 1 weeks 8 days 2 hours 34 minutes 9 seconds |
Um das ganze mal nachzuvollziehen, gib doch mal das genaue Geburtsdatum dieser Person an. Vielleicht wird daraus schon ersichtlich, warum er das anzeigt.
|
|
|
Porky |
Geschrieben am 10.04.2010 00000004 08:05
|
Neuling Beiträge: 9 Registriert am: 18.01.09 Fusioneer: 15 years 10 months 3 weeks 23 days 21 hours 42 minutes 51 seconds |
Das Bithday panel habe ich hier runtergelden und das ist von Gr@n@dE. Hier mal der Code:[geshi=php]<?php /*-------------------------------------------------------+ | PHP-Fusion Content Management System | Copyright © 2002 - 2008 Nick Jones | http://www.php-fusion.co.uk/ +--------------------------------------------------------+ | Birthdate Panel for PHP-Fusion v7 | Author: Ralf Thieme | Homepage: www.PHPFusion-SupportClub.de +--------------------------------------------------------+ | This program is released as free software under the | Affero GPL license. You can redistribute it and/or | modify it under the terms of this license which you | can read by viewing the included agpl.txt or online | at www.gnu.org/licenses/agpl.html. Removal of this | copyright header is strictly prohibited without | written permission from the original author(s). +--------------------------------------------------------*/ if (!defined("IN_FUSION")) { die("Access Denied"); } if (!function_exists("ALTER")) { function ALTER($gebd,$gebm,$geby){ $alter = date("Y") - $geby; if (mktime(0,0,0,date("m"),date("d"),date("Y")) < mktime(0,0,0,$gebm,$gebd,date("Y"))) { $alter--; } return $alter; } } if (file_exists(INFUSIONS."birthdate_panel/locale/".LOCALESET."index.php")) { include INFUSIONS."birthdate_panel/locale/".LOCALESET."index.php"; } else { include INFUSIONS."birthdate_panel/locale/German/index.php"; } $months = explode("|", $locale['months']); $month = $months[number_format(date("m"))]; $result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_birthdate like '____-".date("m")."-__' ORDER BY DAYOFMONTH(user_birthdate) ASC"); openside($locale['pfsc_gb1'].$month); if (dbrows($result)) { while($data = dbarray($result)) { if (array_key_exists("user_birthdate", $data) && $data['user_birthdate'] != "0000-00-00") { $user_birthdate = explode("-", $data['user_birthdate']); if ($user_birthdate[2] == date("d")) { echo "<img src='".INFUSIONS."birthdate_panel/birthday.gif' alt='bd' /> \n"; } echo $user_birthdate[2].".".$user_birthdate[1]." "; echo "<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>".trimlink($data['user_name'], 15)."</a>"; echo " (".ALTER(number_format($user_birthdate['2']),number_format($user_birthdate['1']),$user_birthdate['0']).")"; echo "<br />\n"; } } } else { echo $locale['pfsc_gb2'].$month; } closeside(); ?>[/geshi] Stark sein bedeutet nicht, nie zu fallen! Stark sein bedeutet, immer wieder auf zu stehen! |
|
|
emblinux |
Geschrieben am 10.04.2010 00000004 14:10
|
Seiten Administrator Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 2 months 1 weeks 8 days 2 hours 34 minutes 9 seconds |
Wer hat was davon gesagt, das du den Code hier postet sollst, der steht schon weiter oben. Ich bräuchte einfach nur genau das Geburtsdatum dieser Person, um das ganze nachzuvollziehen. Habe ich so unverständlich geschrieben !?
|
|
|
Porky |
Geschrieben am 10.04.2010 00000004 18:40
|
Neuling Beiträge: 9 Registriert am: 18.01.09 Fusioneer: 15 years 10 months 3 weeks 23 days 21 hours 42 minutes 51 seconds |
Moinsen Habs schon selber gefunden. Den Abschnitt der rot makiert ist. if (!function_exists("ALTER")) { function ALTER($gebd,$gebm,$geby){ $alter = date("Y") - $geby; if (mktime(0,0,0,date("m"),date("d"),date("Y")) < mktime(0,0,0,$gebm,$gebd,date("Y"))) { $alter--; } return $alter;[geshi=php][/geshi] mit dem auswechseln oder selbst reinschreiben. if (!function_exists("ALTER")) { function ALTER($gebd,$gebm,$geby){ $alter = date("Y") - $geby; if (mktime(0,0,0,date("m"),date("d"),date("Y")) < mktime(0,0,0,$gebm,$gebd,date("Y"))) { $alter+1; } return $alter; Dann wird es angezeigt wie alt der jenige wird. @emblinux:nein hast nicht aber ich falsch gelesen und nicht gleich meckern ;) Gruß Porky Stark sein bedeutet nicht, nie zu fallen! Stark sein bedeutet, immer wieder auf zu stehen! |
|
|
AlexH99 |
Geschrieben am 17.04.2010 00000004 08:25
|
Neuling Beiträge: 6 Registriert am: 22.01.10 Fusioneer: 14 years 10 months 2 weeks 19 days 19 hours 30 minutes 46 seconds |
Hallo orig. Panel.php mit der Änderung von Porky passt und es funktioniert zu 100%. Nochmals Danke für eure Mühe. LG Alex |
|
|
Darkdevil |
Geschrieben am 08.06.2011 00000006 13:49
|
Neuling Beiträge: 1 Registriert am: 13.05.11 Fusioneer: 13 years 7 months 0 weeks 0 days 13 hours 9 minutes 49 seconds |
Hallo zusammen Hab hier folgendes problem ! Hab alles so angepasst wie oben beschrieb aber die anzeige funzt bei mir immer noch nich ! Hoffe ihr könnt mir weiterhelfen Danke schonmal |
|
Springe ins Forum: |
Ähnliche Themen
Thema | Forum | Antworten | Letzter Beitrag |
---|---|---|---|
Whats New Panel | Infusionen | 2 | 01.06.2019 00000006 22:50 |
Advanced Whats New Panel | Allgemeine Diskussionen | 3 | 23.10.2018 00000010 17:43 |
slideshow panel (mitte) | Allgemeine Diskussionen | 9 | 24.06.2018 00000006 15:08 |
warnuwetter panel | Infusionen | 5 | 16.01.2018 00000001 18:41 |
[suche] Social Networks Panel | Infusionen | 7 | 06.06.2017 00000006 15:08 |