Avatar billede sthen Nybegynder
18. november 2008 - 17:00 Der er 20 kommentarer og
1 løsning

Hvad menes med denne fejlmeddelelse ?

Får af og til denne fejlmeddelelse.

Warning: mktime() expects parameter 1 to be long, string given in /customers/cb-design.dk/cb-design.dk/httpd.www/kalender/godkend.php on line 3

Hvad menes der?
Avatar billede sthen Nybegynder
18. november 2008 - 17:03 #1
Dette er linie 3

$fratid=mktime($_SESSION['fromh'], $_SESSION['fromm'], 0, $_SESSION['month'], $_SESSION['dato'], $_SESSION['year']);
Avatar billede w13 Novice
18. november 2008 - 17:15 #2
At typen af $_SESSION['fromh'] - hvad indeholder denne helt præcis?
Avatar billede sthen Nybegynder
18. november 2008 - 17:17 #3
to cifre
Avatar billede w13 Novice
18. november 2008 - 17:27 #4
Og det er helt sikkert? Ingen specialtegn eller mellemrum?

Hvad får du udskrevet, hvis du skriver:

echo gettype($_SESSION['fromh']);

?
Avatar billede sthen Nybegynder
18. november 2008 - 17:30 #5
Så får jeg skrevet "string"
Avatar billede w13 Novice
18. november 2008 - 17:33 #6
Ok, så skal det nok konverteres til integer først.

F.eks. med funktionen intval().
Avatar billede sthen Nybegynder
18. november 2008 - 17:34 #7
Øhhhhhhhhh - ik' forstået.
Hva' skriver jeg?
Avatar billede yHec Novice
18. november 2008 - 17:35 #8
Prøv:
settype($_SESSION['fromh'], "integer");

Måske....
Avatar billede w13 Novice
18. november 2008 - 17:36 #9
$fratid=mktime(intval($_SESSION['fromh']), $_SESSION['fromm'], 0, $_SESSION['month'], $_SESSION['dato'], $_SESSION['year']);
Avatar billede w13 Novice
18. november 2008 - 17:37 #10
Og hvis den så brokker sig over fromm, skal der også en intval( ... ) rundt om denne, osv.
Avatar billede sthen Nybegynder
18. november 2008 - 17:38 #11
Så skriver den 1
Avatar billede w13 Novice
18. november 2008 - 17:38 #12
Hvor?
Avatar billede htx98i17 Professor
18. november 2008 - 17:41 #13
mktime() kan kun bruge integer (tal). Der må gerne kun være ét nul.
Avatar billede sthen Nybegynder
18. november 2008 - 17:41 #14
Til gengæld får jeg nu
Warning: mktime() expects parameter 2 to be long, string given in /customers/cb-design.dk/cb-design.dk/httpd.www/kalender/godkend.php on line 3

altså parameter 2
Avatar billede yHec Novice
18. november 2008 - 17:44 #15
Med settype, konverterer den rent faktisk variablen til den ønskede type. Så burde du være sikker...
http://dk2.php.net/manual/en/function.settype.php
Avatar billede w13 Novice
18. november 2008 - 17:45 #16
sthen>> Derfor skal du også sætte intval( ... ) omkring dine andre sessions i mktime, ligesom beskrevet. Der er åbenbart det samme galt med dem alle.
Avatar billede w13 Novice
18. november 2008 - 17:45 #17
sthen>> Det, at den ikke længere brokker sig over parameter 1, viser os jo, at det var den rigtige løsning. Det samme skal bare gøres med resten af parametrene.
Avatar billede sthen Nybegynder
18. november 2008 - 17:49 #18
w13
Lægger du lige et svar - det løste mit problem.
Nu hedder linien bare
$fratid=mktime(intval($_SESSION['fromh']), intval($_SESSION['fromm']), 0, intval($_SESSION['month']), intval($_SESSION['dato']), intval($_SESSION['year']));
Avatar billede w13 Novice
18. november 2008 - 17:51 #19
Her kommer et svar. ;)

Hvis du skal bruge dine sessions flere steder, kan det være, du i stedet skal konvertere dem inden brug. =)

F.eks.:

$_SESSION['fromh'] = intval($_SESSION['fromh']);
$_SESSION['fromm'] = intval($_SESSION['fromm']);
$_SESSION['month'] = intval($_SESSION['month']);
$_SESSION['dato'] = intval($_SESSION['dato']);
$_SESSION['year'] = intval($_SESSION['year']);

$fratid=mktime($_SESSION['fromh'], $_SESSION['fromm'], 0, $_SESSION['month'], $_SESSION['dato'], $_SESSION['year']);
Avatar billede sthen Nybegynder
18. november 2008 - 17:55 #20
Tak - tak
Avatar billede w13 Novice
18. november 2008 - 17:56 #21
Og tak for points! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester