Seite 1 von 1
Fehler: mktime() expects parameter 6 to be long
Verfasst: So 26.Okt, 2008 16:06
von Holger
Hi,
wir benutzen ein vCard-Script von Belchior Foundry (gibt es nicht mehr).
Nach dem Umzug auf einen neuen Server bekomme ich:
Warning: mktime() expects parameter 6 to be long, string given in /var/www/vhosts/maskinisten.net/httpdocs/vykort/include/functions.inc.php on line 438
Zeile 438 ist
Code: Alles auswählen
$sec_pass = mktime() - mktime(0,0,0, $month, $day, $year);
in der Funktion
Code: Alles auswählen
function get_day_after($card_date) {
list ($year, $month, $day) = split ('[/.-]', $card_date);
$sec_pass = mktime() - mktime(0,0,0, $month, $day, $year);
$day_pass = floor( $sec_pass / 86400); // % div modulo
return $day_pass;
}
Kann ich das irgendwie wegbekommen?
Verfasst: Mo 27.Okt, 2008 00:43
von oxpus
Was steckt denn in $year drinnen? Das darf nur maximal 4-stellig sein, bzw. kleiner als 2049 sein (glaub ich).
Verfasst: Mo 27.Okt, 2008 12:50
von Holger
Dies ist kein phpBB-Mod.
Es ist ein externes vCard-skript.
Wie kann ich genauere Angaben machen?
Wie finde ich heraus, was in $year drinsteckt?
Verfasst: Di 28.Okt, 2008 00:11
von oxpus
[quote="Holger";p="87787"]Dies ist kein phpBB-Mod.
Es ist ein externes vCard-skript.[/quote]
Sorry...
[quote="Holger";p="87787"]Wie kann ich genauere Angaben machen?
Wie finde ich heraus, was in $year drinsteckt?[/quote]
Ich kenne das Script nicht, aber irgendwo her muss ja ein Wert dort reinkommen.
Am besten mal mit echo $year;exit; debuggen, dann erwährt man ja mehr...
Verfasst: Di 28.Okt, 2008 08:26
von Holger
Wo muss ich das reinpacken? Direkt nach der Funktion?
Verfasst: Di 28.Okt, 2008 14:05
von oxpus
Vorher, sonst würde nur der Fehler angezeigt, nicht aber der Inhalt von $year
Verfasst: Di 28.Okt, 2008 14:12
von Holger
Geht nicht, dann lässt sich das vCard-Skript gar nicht mehr aufrufen, weisse Seite!
Sie sieht es jetzt aus:
Code: Alles auswählen
echo $year;
exit;
function get_day_after($card_date) {
list ($year, $month, $day) = split ('[/.-]', $card_date);
$sec_pass = mktime() - mktime(0,0,0, $month, $day, $year);
$day_pass = floor( $sec_pass / 86400); // % div modulo
return $day_pass;
}
Verfasst: Mi 29.Okt, 2008 13:42
von oxpus
Doch nicht vor die Funktion, sondern vor dem ersten Wert $year innerhalb der Funktíon
Verfasst: Mi 29.Okt, 2008 13:46
von Holger
Oh!
Also so:
Code: Alles auswählen
function get_day_after($card_date) {
echo $year;
exit;
list ($year, $month, $day) = split ('[/.-]', $card_date);
$sec_pass = mktime() - mktime(0,0,0, $month, $day, $year);
$day_pass = floor( $sec_pass / 86400); // % div modulo
return $day_pass;
}
????????????
Verfasst: Mi 29.Okt, 2008 16:30
von oxpus
So wäre besser, da in Deinem Beispiel $year noch klar leer ist
Code: Alles auswählen
function get_day_after($card_date) {
list ($year, $month, $day) = split ('[/.-]', $card_date);
echo $year;
exit;
$sec_pass = mktime() - mktime(0,0,0, $month, $day, $year);
$day_pass = floor( $sec_pass / 86400); // % div modulo
return $day_pass;
}
Verfasst: Mi 29.Okt, 2008 19:19
von Holger
2003
Verfasst: Mi 29.Okt, 2008 22:40
von oxpus
Ach! Jetzt sehe ich auch, was Du gemacht hast:
funktioniert so nicht, denn die Funktion braucht immer Parameter. Nimm hier statt dessen einfach
.
Verfasst: Do 30.Okt, 2008 08:15
von Holger
Iiiiiich????
Ne, also, ja, wie auch immer ... auf dem alten Server hat es funktioniert.
Auf dem Neuen nicht.
Ich werde Dein Tip mal testen! Danke!