PHP kód v bočním panelu

Do bočního bloku v Drupal 6 jsem si dal tento kód pro to, aby vyskočilo kdy má kdo narozeniny, či výročí.
Předem si omlouvám za kód, který asi není úplně optimální pro tento případ, ale na začátku byly v podmínce jenom dvě varianty. Asi by se to dalo vymyslet líp, nějakým cyklem nebo tak podobně, nebo třeba nějaký modul, který by to uměl ...
No ale teď mám tady to a nevím proč některé ze zápisů hlásí chybu.

V případě že je to takto, je tam chyba, hlásí mi to hcbu právě v oddělených řádcích při zadávání hodnot proměnných:

<?php
$Zamboch=13/01;
$Hlavaty=18/01;
$Holub=03/02;
$Polak=05/03;
$Dolezalek=18/03;
$Matejkova=02/04;
$Hlavka=07/04;
$Risa=16/04;
$Pecinovsky=05/05;
$Krasny=08/05;
$Novakova=15/05;
$Nemec=05/06;
$Machala=07/06;
$Kotouc=15/06;
$Neff=26/06;
$Vrbenska=25/07;

$Slechta=05/08;
$Prochazka=18/08;
$Simcik=03/09;

$Francova=08/10;
$Linc=13/10;
$Vykoukal=16/10;
$Kadlec=22/10;
$Totek=14/11;
$Schink=29/12;

$JFK01=15/09;
$JFK27=26/09;

$rok = StrFTime("%Y", Time());
/// echo($rok);
///echo ("
");
$datum = StrFTime("%d/%m", Time());
/// echo($datum);
/// echo($test);

if($test == $datum){ echo ("testovací zobrazení!");};
if($Zamboch == $datum){ echo ("Dnes má narozeniny Miroslav Žamboch, pogratulujte mu!");};
if($Hlavaty == $datum){ echo ("Dnes má narozeniny Marek Hlavatý, pogratulujte mu!");};
if($Holub == $datum){ echo ("Dnes má narozeniny Zbyněk Kučera Holub, pogratulujte mu!");};
if($Polak == $datum){ echo ("Dnes má narozeniny Jaroslav A. Polák, pogratulujte mu!");};
if($Dolezalek == $datum){ echo ("Dnes má narozeniny Jan HunteR Doležálek, pogratulujte mu!");};
if($Matejkova == $datum){ echo ("Dnes má narozeniny Milena Matějková, pogratulujte jí!");};
if($Hlavka == $datum){ echo ("Dnes má narozeniny Jan Hlávka, pogratulujte mu!");};
if($Risa == $datum){ echo ("Dnes má narozeniny Vlado Ríša, pogratulujte mu!");};
if($Pecinovsky == $datum){ echo ("Dnes má narozeniny Josef Pecinovský, pogratulujte mu!");};
if($Krasny == $datum){ echo ("Dnes má narozeniny Jan Patrik Krásný, pogratulujte mu!");};
if($Novakova == $datum){ echo ("Dnes má narozeniny Julie Nováková, pogratulujte jí!");};
if($Nemec == $datum){ echo ("Dnes má narozeniny Tomáš Němec, pogratulujte mu!");};
if($Machala == $datum){ echo ("Dnes má narozeniny Libor Machala, pogratulujte mu!");};
if($Kotouc == $datum){ echo ("Dnes má narozeniny Jan Kotouč, pogratulujte mu!");};
if($Neff == $datum){ echo ("Dnes má narozeniny Ondřej Neff, pogratulujte mu!");};
if($Vrbenska == $datum){ echo ("Dnes má narozeniny Františka Vrbenská, pogratulujte jí!");};
if($Slechta == $datum){ echo ("Dnes má narozeniny Vladimír Šlechta, pogratulujte mu!");};
if($Prochazka == $datum){ echo ("Dnes má narozeniny Jiří Walker Procházka, pogratulujte mu!");};
if($Simcik == $datum){ echo ("Dnes má narozeniny Petr Šimčík, pogratulujte mu!");};
if($Francova == $datum){ echo ("Dnes má narozeniny Karolína Francová, pogratulujte jí!");};
if($Linc == $datum){ echo ("Dnes má narozeniny Míla Linc, pogratulujte mu!");};
if($Vykoukal == $datum){ echo ("Dnes má narozeniny Jaromír Vykoukal alias KeB, pogratulujte mu!");};
if($Kadlec == $datum){ echo ("Dnes má narozeniny Karel Kadlec, pogratulujte mu!");};
if($Totek == $datum){ echo ("Dnes má narozeniny Petr Totek, pogratulujte mu!");};
if($Schink == $datum){ echo ("Dnes má narozeniny Petr Schink, pogratulujte mu!");};

if($JFK01 == $datum){ echo ("V tento den, v roce 2005 vyšel historicky první díl série JFK!");};
if($JFK27 == $datum){ echo ("V tento den, v roce 2012 vyšel JFK 27 - Dlouhý černý úsvit, přelomový díl série JFK!");};
?>

Pokud změním ty proměnné takto, je to v pořádku, to mi ale asi nebude fungovat podle zadané podmínky. přiznám se, že tomu nerozumím.

$Slechta=05/8;
$Prochazka=18/8;
$Simcik=03/9;

$JFK01=15/9;
$JFK27=26/9;

Poradíte?

Profile picture for user Jan Polzer

No to je jednoduché. Musíte ty datum zadat jako řetězec, tedy dát je do uvozovek. Např. $Slechta="05/08"; Jinak to PHP bere tak, že chcete dělit dvě čísla a samozřejmě není žádné číslo 08. Proto Vám to nehlásí chybu, až když napíšete $Slechta=05/8; Tím ale do proměnné Slechta uložíte výsledek pět děleno osmi, nikoli znaky 05/8.

návštěvník

Děkuji za nakopnutí správným směrem.
Hned jsem to překopal. Jen je mi divné, že to vyhodilo chybu jen u některých.
No to už je jedno, hlavně aby to chodilo.

Odpovědět

Obsah tohoto pole je soukromý a nebude veřejně zobrazen.

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Poslední komentáře
Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru