Beitrag von hempelr (1976 Beiträge) am Mittwoch, 8.Juni.2005, 09:25.
@CB - Bug bzw. Prob mit Var in Baseportal.pl - Datumsfunktionen
bin überm Bauen einer Routine zur universellen Datumssuche etc, mit elektrischen Blätterlinks und selected-Datumsfeld.
Nun ist das Teil fast fertig, aber beim Datumssprung über ein Jahr im Februar von Schaltjahren auf Nichtschaltjahre kommt am 29. Februar folgende Fehlermeldung:
---schnipp
Fehlerhafter Perl Code in :
Day '29' out of range 1..28 at /home/www/webuser/html/bapos.haus/exec/baseportal.pl line 325 ]
---schnapp
Bitte gib mal durch, wie die den Überlauf verursachende Variable in der baseportal.pl heisst. Bei mir sind da $dat, $date, $dag, $mon, $jar, @lz_dag, @lz_mon, @lz_jar, $dz_feb, $dnr_jar, $djar, $i_ldmon, @ld_mon beteiligt (hoffe, dass ich alle erwischt habe..)
Danke
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 8.Juni.2005, 12:54.
Re: @CB - Bug bzw. Prob mit Var in Baseportal.pl - Datumsfunktionen
Verstehe die Frage nicht ganz: Du musst doch einfach Deine Variable die den Tag enthält prüfen ob die (in Nicht-Schaltjahren) >28 ist...?
Antworten
Beitrag von hempelr (1976 Beiträge) am Mittwoch, 8.Juni.2005, 13:47.
Re: @CB - Bug bzw. Prob mit Var in Baseportal.pl - Datumsfunktionen
jaja - das mach ich ja auch, trotzdem kommt die Fehlermeldung.
Komischerweise ist das online nicht reproduzierbar, nur aufm lokalen Intranetserver (XAMPP-Apache 2.x - SUSE9.0)
Weder auf Lizenz unter Apache 1.3x noch auf kostnix kommt die Fehlermeldung und die Korrektur für den Monatstag funzt...
Zum besseren Verständnis hab ichs mal auf meinen konstnix-Account ins Verzeichnis amount_datum geladen - hier auch mal der Link zum anschaun:
http://baseportal.de/cgi-bin/baseportal.pl?htx=/hempelr/amount_datum/bldatum
Vielleicht kannst du ja mal bitte das bei dir lokal checken - ich hab die Version 2.3.8 lokal laufen...
Danke
Antworten
Beitrag von hempelr (1976 Beiträge) am Mittwoch, 8.Juni.2005, 16:08.
Bitte Hilfe! Re: @CB - Bug bzw. Prob mit Var in Baseportal.pl - Datumsfunktionen
So, hab nun nochmal alles gecheckt - selbst wenn gar kein Datenbankzugriff erfolgt, kommt eine Fehlermeldung bei Überschreitung der Tageszahl, die in einem Monat möglich wäre. Komischerweise passiert das sogar, wenn nur gerechnet wird, also das ganze als reines CGI-Script innerhalb der BasePortal.pl läuft.
Immer in der selben Zeile der BasePortal.pl:
[ Fehler: Fehlerhafter Perl Code in :
Day '31' out of range 1..30 at /home/www/webuser/html/bapos.haus/exec/baseportal.pl line 325 ]
Obwol hier überhaupt keine direkten Datumsfunktionen aufgerufen werden kommt diese Fehlermeldung - gib doch bitte mal ein Zeichen, was die Zeile 325 für Var-Namen beinhaltet - oder darf ich selbst nachschaun?
Ansonsten wird die Fehlersuche eher sackend - und es sollte schon unter allen Bedimngungen möglcihst ehlerfrei laufen können....
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 8.Juni.2005, 19:06.
Re: Bitte Hilfe! Re: @CB - Bug bzw. Prob mit Var in Baseportal.pl - Datumsfunktionen
Wenn Du die Datumsfunktion garnicht aufrufst, wie kanns dann an baseportal liegen? ;-)
Du kannst gerne selber in die Zeile 325 schauen, wenns was bringt, was ich zu bezweifeln wage. Ich würde nämlich vermuten, dass dort einfach Dein Code ausgeführt wird... ;-)
Antworten
Beitrag von hempelr (1976 Beiträge) am Mittwoch, 8.Juni.2005, 21:21.
Re: Bitte Hilfe! Re: @CB - Bug bzw. Prob mit Var in Baseportal.pl - Datumsfunkti
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 9.Juni.2005, 00:22.
Re: Bitte Hilfe! Re: @CB - Bug bzw. Prob mit Var in Baseportal.pl - Datumsfunkti
Antworten
Beitrag von hempelr (1976 Beiträge) am Donnerstag, 9.Juni.2005, 08:02.
Re: Bitte Hilfe! Re: @CB - Bug bzw. Prob mit Var in Baseportal.pl - Datumsfunkti
nee - das ist halt nicht richtig mit der Fehlermeldung, localtime/timelocal sollte so eingesetzt werden, dass das abgefangen werden kann, anstatt 29. Februar 1. März, anstatt 31. April 1.Mai, anstatt 31.Juni 1. Juli usw...
Wenn du den Link mal getestet hättest, würdest du sehen, wie es funktioniert/funktionieren soll, weil der Fehler im Moment nur lokal auftritt - im Web/bei baseportal.de macht es das was es soll...
Den möglichen Eingabefehler fange ich auch nochmal ab, wenn als Filterwert bspw. der 29.2.205 reinkommt wird automatisch der 1.3. als Filterwert genommen, nur halt kann ich leider nicht die Werte für Monat und Jahr (damit ne Vergleichsrechnung auf Schaltjahr und Tage im Monat gemacht werden kann) einfach so aus dem übergebenen (Datums)String ausfiltern, da kommt dann der Fehler der baseportal.pl - speziell in der Subroutine getwochentag().
Weil der übergebene Datumsstring unterschiedlich aussehen kann, bspw. als bp-intern, als beliebig bp-bekannt formatiert oder als Teilstring des bp-internen Formates war mein Ansatz, die in bp vorhandene Funktionalität zur Formatierung des Datumstrings zu nutzen; und meine gebaute gesamte betreffende Funktion ja für DB-Abfragen dienen soll, ist ein bp bekanntes Datumsformat notwendig.
Dazu eignet sich IMHO nun mal die bp-interne Datumsfunktion. Wenn die natürlich nicht 100%ig funktioniert, dann mach ich das halt selber, wollte mir das ja nur schenken... <sarkasmus on> wusste ja nicht, dass Lizenzkunden nicht mehr Hilfe erwarten dürfen als kostnix-spassmacher...<sarkasmus off>
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 9.Juni.2005, 11:30.
Re: Bitte Hilfe! Re: @CB - Bug bzw. Prob mit Var in Baseportal.pl - Datumsfunkti
Ich helf Dir schon, keine Bange, ich habs halt nur nich verstanden ;-) Deinen Link hab ich auch aufgerufen, aber was soll ich dort machen? Ich hab 29.2.2005 eingestellt (dieses Jahr ist kein Schalfjahr, also falsch) und auf "Anzeigen" geklickt, aber es kam kein Fehler sondern es wurde der 28.2.2005 angezeigt... Und Deine Variablennamen sind nich wirklich selbsterklärend (ndag, fdag, dag, opt_dag, fdatum_dag...) ;-)
Anscheinend ist das Problem ja auch schon behoben und Du hast einfach noch eine ältere Lizenzversion...
Antworten
Beitrag von hempelr (1976 Beiträge) am Donnerstag, 9.Juni.2005, 11:54.
Re: Bitte Hilfe! Re: @CB - Bug bzw. Prob mit Var in Baseportal.pl - Datumsfunkti
ok - schon gut, war ja auch nicht so gemeint....
Leider ist der Fehler lokal noch nicht weg, ist auch erst mal egal, ich bau das mal bei Zeit um.
Klar, einfache Variablennamen ndag - nächster Tag, fdag - Filterwert-Tag - opt_dag - Optionwert f. HTML-Ausgabe, fdatum_dag - Filterdatum_Tag.. ;-)
Lass erst mal - ich kümmer mich, mach mal in Ruhe Urlaub!
CU later :-)
Ruben
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 9.Juni.2005, 12:22.
Re: Bitte Hilfe! Re: @CB - Bug bzw. Prob mit Var in Baseportal.pl - Datumsfunkti
> Klar, einfache Variablennamen ndag - nächster Tag, fdag - Filterwert-Tag - opt_dag - Optionwert f. HTML-Ausgabe, fdatum_dag - Filterdatum_Tag.. ;-)
Achsoooo... ,-)
Antworten