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?
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.
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.