Přestože v máte všude nastavené kódování souborů třeba na „windows-1250“ a všude v HTML uvádíte <meta charset=“windows-1250″> nemusí to vždy stačit. Setkal jsem se nyní s případem, kde to v kombinaci s jQuery AJAX a Firefoxem (ano, všiml jsem si toho pouze v něm) nedělalo dobrotu a bylo nutné i v PHP uvádět: <?php header(„content-type:text/html;charset=windows-1250“); […]
PHP
Podpořte Nette
Pokud používáte PHP framework Nette, podpořte jej. Vývoj softwaru není zadarmo a už vůbec ne tak kvalitního. Také jsem jej podpořil, přestože jej přímo nepoužívám, ale jeho kód je pro mě vzácnou inspirací. Podpořte Nette – http://nette.org/cs/donate
PHP yield
V PHP od verze 5.5 je k dispozici operátor yield. Ten funguje podobně jako return s jedním rozdílem. Když ve funkci zavoláte return, tak se funkce ukončí a když tu samou funkci zavoláte znova, začne opět od začátku. Když ve funkci zavoláte yield, tak se funkce ukončí, ale když ji zavoláte znova, začne přesně tam, […]
Bezpečnost: Jak se bránit ukradení sezení?
Ukrást sezení znamená vzít z cizího klientského počítače sušenku (cookie) se jménem PHPSESSID a nastavit tuto hodnotu ve svém prohlížeči. Pro server jste pak stejný uživatel (máte stejné $_SESSION). Abychom se mohli bránit, musíme vědět jak útok probíhá. Útočník například v poli pro Jméno vyplní následující kód: Že vypadá na první pohled neškodně? A co […]
„\r\n“ nebo „\n“? PHP_EOL!
Často nevíte, jestli pro zápis konce řádku použít „\r\n“ nebo „\n“? V PHP nepoužívejte ani jedno, protože nikdy nevíte jestli skript někdy nepoběží na Windows („\r\n“) nebo Unixovém systému („\n“). Použijte přímo vestavěnou konstantu PHP_EOL (End Of Line):
str_replace() – v PHP, v MySQL, v JavaScriptu
Ukázka přepisovací funkce v PHP, MySQL a Javascriptu. PHP // „123 456 798“ => „123456789 $telefon = „123 456 789″; $telefon = str_replace(“ „,““,$telefon); MySQL # „123 456 798“ => „123456789 SELECT REPLACE(`telefon`, ‚ ‚, “) FROM `tabulka`; JavaScript // „123 456 798“ => „123456789 var telefon = „123 456 789″; telefon = telefon.replace(“ „,““);