Category Archives

36 Articles

Přesměrování stránky bez zachování hlavičky Referer (PHP)

by Zdeněk Večeřa 0 Comments

Někdy můžete chtít ze své stránky odkázat na jiný web tak, aby cílová stránka nezjistila, odkud uživatel přišel (URL). Běžně se to lze dozvědět z hlavičky Referer, pokud ji uživatel neblokuje (například firewallem).

Pro tento případ je proto vhodné připravit mezistránku (například soubor /r.php), které předáte cílovou URL. Stránka odstraní Referer a přesměruje na cílovou, která se tak nedozví původní URL.

Odkaz vygenerujte třeba takto:

echo '<a href="/r.php?u=' . htmlspecialchars(urlencode('http://blog.zdenekvecera.cz/item/category/php'), ENT_QUOTES, 'UTF-8') . '">odkaz</a>';

Řešení problému: Sources directory is already netbeans project (maybe only in memory)

Spokojeně používáte NetBeans, až jednou za jeho běhu přímo ve Windows přejmenujete/přesunete adresář, který doposud sloužil jako cesta k jednomu z projektů.

Daný projekt z NetBeans zmizí a vy se jej pokoušíte přes File -> New Project -> PHP Application with Existing Sources znovu  přidat. Marně, protože pokaždé se vypíše chybová hláška:

PHP 5.3: jak je to s VC6, VC9, Thread Safe a Non Thread Safe

by Zdeněk Večeřa 4 Comments

PHP 5.3Instalace binárních balíčků PHP 5.3 pro Windows je oproti 5.2 trochu složitější. Musíte totiž podstoupit rozhodování při výběru vhodné verze. Jaká je tedy pro vás ta správná?

VC6 nebo VC9

Pokud používáte Apache 1 nebo 2, měli byste použít verzi VC6. Zkompilována je pomocí vývojového prostředí Vistual Studio 6.

Jestli instalaci PHP 5.3 chcete provést na IIS, což je Internet Information Services od Microsoftu, měli byste zvolit verzi VC9. Ta byla zkompilována Visual Studiem 2008 a přináší vylepšení v oblasti výkonu a stability.

Google Analytics: Asynchronous Tracking a AJAX

by Zdeněk Večeřa 1 Comment

Google před časem přidal další možnost, jak sledovat návštěvnost pomocí Google Analytics. Tentokrát se jedná o tzv. Asynchronous Tracking.

Tento nový asynchronní měřící kód přináší oproti dřívějším verzím (urchin.js a ga.js) několik výhod:

  • rychlejší načítání stránek
  • více údajů o návštěvnících během krátkých návštěv stránek
  • odstranění nepatřičných sekvenčních operací mezi sledováním uživatelských kliknutí a načtením měřicího kódu

Google doporučuje tento nový způsob sledování nasadit, dřívější verze ovšem budou nadále podporovány. Rozhodně byste ale neměli na jedné stránce používat více druhů měření.

Kód se liší především v umístění na stránce. Dřívější se dával na konec stránky, před uzavírací tag </body>. Tento nový se umísťuje před uzavírací tag </head>.

Rychlost: intval() vs. mysql_real_escape_string()

by Zdeněk Večeřa 1 Comment

intval()

for ($i = 0 ; $i < 1000 ; $i++){
  $num = intval(rand());
}

Doba zpracování: 0,0008 s

mysql_real_escape_string()

for ($i = 0 ; $i < 1000 ; $i++){
  $num = mysql_real_escape_string(rand());
}

Doba zpracování: 0,0035 s

Pro ošetření integer hodnot používejte intval(), pro řetězce mysql_real_escape_string().

phpMyAdmin: Wrong permissions on configuration file, should not be world writable!

by Zdeněk Večeřa 1 Comment

Pokud pro správu MySQL databáze chcete využít PHP aplikaci phpMyAdmin, a ona vám hlásí: „Wrong permissions on configuration file, should not be world writable!„, musíte upravit práva souboru (atributy souboru) config.inc.php, který je součástí instalace phpMyAdmin.

Je třeba práva souboru nastavit tak, aby nebylo možné soubor modifikovat zvenčí (nepřidělit právo zápisu pro ostatní). Práva souboru proto změňte například na 0644.

Více o právech se dočtete zde: Přístupová práva v Unixu