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>
Je divný, že když jsem vymazal <?= a dal jsem tam <?php, tak najednou hodnota zmizela a nefungovalo to. Tato proměnná je propojená s SESSION -
$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
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
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
Escapovat ideálně správně, tedy htmlspecialchars($steamprofile['personname'], ENT_QUOTES);
Fastman
Profil
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
Co se tu předbíháte v escapování? :D @abc stejně vám tam chybí kodování.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0