Autor | Zpráva | ||
---|---|---|---|
onee Profil * |
Dobrý večer,
Potřeboval bych poradit s jednou jednoduchou php funkcí. Mělo by to fungovat asi takto: 1. Uživatel se přihlásí a zapíše se určitá hodnota do $_SESSION['type']; -> číselná hodnota typu účtu (0-obyčejný účet, 1-další úroveň apod.) (hotovo) 2. Na stránce index.php zavolám funkci getType($_SESSION['type']; 3. Do souboru functions.php jsem vložil tuto funkci function getType($typeInt){ if($typeInt== 0){ $type= '<span class="grey">1. úroveň</span>'; }elseif($typeInt== 1){ $type= '<span class="green">2. úroveň</span>'; }elseif($typeInt== 2){ $type= '<span class="orange">3. úroveň</span>'; }elseif($typeInt== 3){ $type= '<span class="red">administrátor</span>'; } return $type; } 4. Ovšem funkce mi nic nevypíše, nevíte kde bych mohl mít chybu? Je tam možná nějaká fatální chyba, funkce prozatím ještě tak neovládám. Děkuji za odpověď Moderátor Alphard: Obarveno, pro vkládní kódu prosím používej .
|
||
Mastodont Profil |
#2 · Zasláno: 20. 3. 2009, 21:51:31
A jak přesně tu funkci voláš?
$neco = getType(...); nebo echo getType(...); nebo nějak jinak? |
||
onee Profil * |
#3 · Zasláno: 20. 3. 2009, 22:32:20
Mastodont
přesně takto: $x = getType($_SESSION['type']); echo blablabla'.$x.'; |
||
onee Profil * |
#4 · Zasláno: 20. 3. 2009, 22:33:23
$x = getType($_SESSION['type']); echo blablabla'.$x.'; |
||
smejko Profil * |
#5 · Zasláno: 20. 3. 2009, 22:35:41
„$x = getType($_SESSION['type']);
echo blablabla'.$x.';“ $x = getType($_SESSION['type']); echo "blablabla".$x.""; |
||
onee Profil * |
#6 · Zasláno: 20. 3. 2009, 22:43:13
smejko
na uvozovky jsem zapomněl, ale jde mi spíše o to, jestli takto vidíte na té funkci něco špatně, nebo mám hledat chybu jinde. Děkuji |
||
Alphard Profil |
#7 · Zasláno: 20. 3. 2009, 22:59:11 · Upravil/a: Alphard
ve funkci samotné by se např. lépe hodil switch, ale i současný if by měl fungovat
jde spíše o to, že tam nekontroluje ostatní případy, např. neočekávanou hodnotu (kdyby byl zadaný parametr prázdný, tak by se správně nic nevypsalo) a navíc je nutné ji přejmenovat, viz dále function getOpravneni($typeInt){ if($typeInt== 0){ $type= '<span class="grey">1. úroveň</span>'; }elseif($typeInt== 1){ $type= '<span class="green">2. úroveň</span>'; }elseif($typeInt== 2){ $type= '<span class="orange">3. úroveň</span>'; }elseif($typeInt== 3){ $type= '<span class="red">administrátor</span>'; }else{ return false; } return $type; } $x = getOpravneni($_SESSION['type']); if(!$x) echo "Nastala chyba"; else echo "Lorum ipsum ...".$x; |
||
AM_ Profil |
#8 · Zasláno: 20. 3. 2009, 23:00:24
obávám se, že se kříží s nativní funkcí php gettype(), která vrací typ proměnné. Divím se, že skript nekončí s fatální chybou dvojí deklarace funkce, možná je to tím, že tam máš velké T, ale PHP není case-sensitive, takže by ty funkce nemělo rozlišit.
|
||
Alphard Profil |
#9 · Zasláno: 20. 3. 2009, 23:17:41
AM_:
pravda, ještě jsem si říkal, že je blbě pojmenovaná, tohle mě ale nenapadlo :-) je to case-insensitive, asi má zakázaný výpis chyb onee: viz AM_ když to zkusíte s výpisem chyb, dostanete Fatal error: Cannot redeclare gettype() in ... |
||
onee Profil * |
#10 · Zasláno: 20. 3. 2009, 23:29:51
Alphard
Tak děkuji za rady, teď už to nějak dám dohromady ;-). |
||
Časová prodleva: 16 let
|
0