Gå til innhold

Bursdagsskript, hva er feil?


Anbefalte innlegg

Dette skriptet har jeg lånt av Zyrex_ og prøvd å modifisere..

 

PHP

<?php

date_default_timezone_set('GTM+0100');

$date date ("dm");

$birtharray = Array

(

"Navn 1" => "0101",

"Navn 2" => "0712",

"Navn 3" => "0307",

"Navn n" => "0103",

);

 

foreach($birtharray as $name => $birthdate)

{

if($birthdate == $date)

 {

 echo " Gratulerer med dagen $name ";

 }

else

 {

 echo " Ingen har bursdag i dag. ";

 }

 

}

?>

Dette printer ut en haug med "Ingen har bursdag i dag." pluss en eventuell gratulasjon. Hvorfor?

Lenke til kommentar
Videoannonse
Annonse

Det er fordi du skriver ut teksten inni foreach loopen.

Den sjekker om det første navnet har bursdag, hvis ikke, skriver den ut "Ingen har bursdag i dag. "

Så sjekker den om det andre navnet har bursdag, hvis ikke, så skriver den ut "Ingen har bursdag i dag. "

osv.

Hvis den støter på et navn som har bursdag, så skriver den ut "Gratuelerer..." meldingen i tillegg til å skrive ut "Ingen har bursdag i dag. " for hver av de som ikke har bursdag.

 

EDIT...

Endret av kakkle
Lenke til kommentar

Det er fordi du mangler en sjekk

if(in_array($date, $birtharray))
{
   foreach($birtharray as $name => $birthdate)
   {
       if($birthdate == $date)
       {
           echo " Gratulerer med dagen $name ";
       }
   }
}
else
{
   echo " Ingen har bursdag i dag. ";
}

Det skal nok gjøre susen tror jeg.

Lenke til kommentar

date_default_timezone_set('GTM+0100');

Den der kan da umulig stemme?

Først og fremst har jeg aldri hørt om Greenwich Time Mean, selv om Greenwich Mean Time er velkjent.

 

For det andre så står det ingen ting i manualen om at du kan angi tiden ved "GMT+0100" heller. Det ser ut som at du kan bruke "Etc/GMT+1", men jeg vil vel heller anbefale å bruke "Europe/Oslo" dersom det er her programmet skal kjøres.

 

Litt gøy lesestoff for interesserte:

http://www.php.net/manual/en/timezones.php

http://www.php.net/manual/en/function.date...imezone-set.php

Lenke til kommentar
date_default_timezone_set('GTM+0100');

Den der kan da umulig stemme?

Først og fremst har jeg aldri hørt om Greenwich Time Mean, selv om Greenwich Mean Time er velkjent.

 

For det andre så står det ingen ting i manualen om at du kan angi tiden ved "GMT+0100" heller. Det ser ut som at du kan bruke "Etc/GMT+1", men jeg vil vel heller anbefale å bruke "Europe/Oslo" dersom det er her programmet skal kjøres.

 

Litt gøy lesestoff for interesserte:

http://www.php.net/manual/en/timezones.php

http://www.php.net/manual/en/function.date...imezone-set.php

9416527[/snapback]

 

Nei, det stemmer ikke, så jeg kuttet den ut.. Men da skal det være:

PHP

date_default_timezone_set('Europe/Oslo/GMT+1')

// eller slik

date_default_timezone_set('Etc/GMT+1')

 

EDIT: Det kommer uansett ikke til å funke tror jeg, for det står i manualen at det er til PHP5, og webhotellet mitt kjører php4.

Endret av _Ferrari_
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...