Autor | Zpráva | ||
---|---|---|---|
Fastman Profil |
Zdravím,
Narazil jsem v kódu na divnou věc, namísto toho, aby začal kód s <?php, tak začínal <?=. Uvedu příklad: <td><?= $steamprofile['personaname']; ?></td> $steamprofile['personaname'] = $_SESSION['steam_personaname']; Nevíte prosím vás, jak se s tímto parametrem pracuje? Protože do <?= nelze vkládat podmínky či věci porovnávat. Děkuji za odpověď. |
||
Tomáš123 Profil |
#2 · Zasláno: 5. 6. 2016, 14:59:04
Fastman:
Zápis <?= je skrátená verzia pre výpis v PHP nahraditeľná zápisom <?php echo . Používa sa hlavne na výpis do šablón, kde je to iba o jedinej hodnote (ako v tvojom príklade). <? je zase skrátená verzia otváracej značky <?php (častým problémom býva používanie tejto značky s nesprávnou konfiguráciou v php.ini – je potrebné mať povolenú direktívu short_open_tag ). Zápis <?php $nejaka_premenna ?> nemá dôvod čokoľvek vypisovať (maximálne poznámku o nedefinovanej premennej). Formát krátkeho výpisu s dlhou otváracou značkou nefunguje (zrejme je <?= nejaké ustálené spojenie a nejde ho hocijako kombinovať).
|
||
Sitole Profil |
Fastman:
Jestli se nepletu, tak zápis <?= $steamprofile; ?> je pouze zkrácená a výsledek je <?php echo $steamprofile; ?> .
Jednoduše řečeno se to používá jako úspora při psaní. V šablonách a tak podobně. Dle mého je to ale zbytečně už jen kvůli přehlednosti. |
||
Jan Tvrdík Profil |
#4 · Zasláno: 5. 6. 2016, 15:29:55
Fastman:
Pro jistotu doplním, že je potřeba proměnné při výpisu do HTML escapovat, tj. <td><?= htmlspecialchars($steamprofile['personaname']); ?></td> |
||
abc Profil |
#5 · Zasláno: 5. 6. 2016, 15:59:10
Escapovat ideálně správně, tedy
htmlspecialchars($steamprofile['personname'], ENT_QUOTES);
|
||
Fastman Profil |
#6 · Zasláno: 5. 6. 2016, 16:00:18
Ajo, díky moc za odpovědi a upřesnění, úplně mi vypadlo použít při <?php funkci echo. Již vše funguje.
|
||
CZechBoY Profil |
#7 · Zasláno: 5. 6. 2016, 17:32:52
Co se tu předbíháte v escapování? :D @abc stejně vám tam chybí kodování.
|
||
Časová prodleva: 9 let
|
0