Avatar billede 4u2x Nybegynder
10. maj 2008 - 23:58 Der er 5 kommentarer og
1 løsning

mktime på php 5.2.6

$month1 = $_POST["hmaaned"];
$day1 = $_POST["hdag"];
$year1 = $_POST["haar"];
       
$month1 = preg_replace("/0\./i", ".", $month1);
$day1 = preg_replace("/0\./i", ".", $day1);
$year1 = $year1 - (date("N")*3600*24);   
$dato = mktime(0,0,0, $month1, $day1, $year1);

echo $dato;


følgende kode virker hel fint på php 4.. men på php 5.2.6 kan jeg ikke få $dato udskrivet.

Nogen der har en løsning?
Avatar billede erikjacobsen Ekspert
11. maj 2008 - 00:12 #1
Date("N") er vist ny fra ca PHP5
Avatar billede erikjacobsen Ekspert
11. maj 2008 - 00:13 #2
Og hvad er forøvrigt formålet med de to replacer?
Avatar billede 4u2x Nybegynder
11. maj 2008 - 00:16 #3
replacerne er sat til at fjerne nullerne... men ved du hvorfor min kode ikke virker?
Avatar billede erikjacobsen Ekspert
11. maj 2008 - 00:21 #4
Fjerne nullerne? Det gør de da ikke. Putter du "01" ind i fx din måned, kommer der "01" ud af din replace. Men det virker selvfølgelig stadig fint med "01".

Hvad gør så din beregning i linien: $year1 = $year1 - (date("N")*3600*24);
Avatar billede erikjacobsen Ekspert
11. maj 2008 - 00:42 #5
Nå, dynerne kalder, så du må selv kæmpe videre.... Men:

date("N") har sikkert givet 0 i PHP4, fordi date med "N" ikke var defineret. $year1 har derfor slet ikke ændret sig. Nu bliver det et stort negativt tal, og så virker mktime ikke.

Men hvad er det du skal have regnet ud? Og hvorfor den beregning ved $year1 ??

Hvis du kun skal have have udregnet time for den angivne dato, kunne du jo bare gøre det i een linie:

  $dato = mktime(0,0,0, $_POST["hmaaned"], $_POST["hdag"], $y_POST["haar"]);

Bortset fra at du ikke har kontrolleret at det er fornuftige tal fra brugeren.

Så ... jeg forstår ikke så meget ;)
Avatar billede 4u2x Nybegynder
05. september 2011 - 18:44 #6
lukker.. erik har fortjent point'ene men han samler ikke på point kan jeg se... så de ryger bare tilbage i folden
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