Česko Slovenská Superstar 2009: Ernest Lieskovec
Všeho moc škodí. Aneb, čeho je moc, toho je příliš.
Všeho moc škodí. Aneb, čeho je moc, toho je příliš.
Někdy můžete chtít otevřit nové okno (potomka) a na jeho základě upravit obsah v rodičovském okně – to, které vyvolalo otevření potomka. Docílíte toho kouskem kódu v JavaScriptu, který můžete zavolat například v události onclick (provede se po klepnutí).
Okno JavaScriptem můžete otevřít následovně:
<a href="#" onClick=
"window.open('nejaky_soubor.php', 'mywindow',
'width=970, height=700')">
Otevřít nové okno</a>
Snadno můžete nastavovat i parametry otevřeného okna. Nemá smysl zde všechny možnosti vypisovat; rovnou vás odkážu na pageresource.com.
Oblíbil jsem si kvalitní FCKeditor, se kterým je psaní a úprava textů v administraci hračka. Přestože bych mu několik drobností vytknul, tak největší problém vidím v jeho rychlosti. Ano, je rychlý, ale jeho načtení a zobrazení by mohlo být rychlejší.
Ani se to nezdá, ale FCKeditor je vyvíjen už šest let a za tu dobu si získal velkou oblibu nejen mezi uživateli, ale i vývojáři. Troufám si tvrdit, že spolu s TinyMCE patří mezi nejoblíbenější a nejznámější open-source editory.
Šest let stáří FCKeditoru je mírně znát, proto vývojáři poslední téměř dva roky pilně pracovali na další verzi, která získala nové jméno: CKeditor.
Prakticky vzato, CKeditor je pokračování FCKeditoru, takže se nenechte zmást, že by zde byl další produkt.
Vývojáři se pro změnu názvu rozhodli kvůli jeho problémové výslovnosti v anglicky mluvících zemích.
V názvu článku jsem vyjmenoval slova, která jsou strašákem nejednoho PHP programátora. Strašák to je ale pouze uměle vytvořený, vycházející z neznalosti problematiky.
Dost často se ve spojení s SQL injection (typ útoku hackera) zmiňuje PHP konstanta magic_quotes_gpc. Prý, že pokud je zapnutá, tak se dá SQL injection předejít. A víte, že od PHP 5.3 bude standardně magic_quotes_gpc vypnutá?
Znamená to, že poté budou SQL dotazy napadnutelné pomocí SQL injection? Ale vůbec ne.
Konstanta magic_quotes_gpc totiž s ochranou SQL injection nemá v podstatě nic společného. Pouze zde existuje průsečík v možnosti jejího využití. Proto ji neznalí programátoři začali přisuzovat větší váhu, než má. Váha magic_quotes_gpc je samozřejmě nulová, zvláštně, když od PHP 5.3 bude vypnutá a v PHP 6 zanikne úplně.
Vysvětleme si tedy, oč jde. SQL injection je vážný problém.
FDFDoposud jsem neznal nějaký snadný a efektivní způsob exportu HTML stránek do PDF formátu, za pomocí PHP. Ano, existuje PHP třída FPDF, ale něco v ní vytvořit mi zrovna jako efektivní nepřijde. Viz kus kódu. Pokud byste FPDF přece jen použili, mrkněte k Zaachimu na blog. Radí tam, jak na české znaky.
Nad touto třídou existuje nástavba, troufám si říct “naštěstí”. Jmenuje se mPDF a nabízí přímý export z HTML stránek do PDF za podpory UTF-8 kódování, tedy s bezproblémovou interpretací českých znaků.
Ajax load – vytvoření vlastní wait (progress) ikony, značící provádění činnosti.
Vybírat můžete téměř ze 40 stylů animovaných ikon. Nastavovat můžete průhlednost, barvu pozadí a popředí.
<?php
$oFCKeditor = new FCKeditor('body') ;
$oFCKeditor->Value = $form['body'];
$oFCKeditor->Create();
?>
<input type="button" onclick="alert(FCKeditorAPI.GetInstance('body').GetData());" value="Submit" />
<input type="button" onclick="FCKeditorAPI.GetInstance('body').InsertHtml('<strong>ahoj</strong>');" value="Submit" />
Pokud chcete, aby se po načtení stránky nastavil textový kurzor do některého z inputů na stránce, stačí pomocí JavaScriptu zavolat metodu focus().
<input type="text" name="nazev" id="nazev" size="30" maxlength="50" value="" />
<script type="text/javascript">
document.getElementById("nazev").focus();
</script>
Vyšel nový NetBeans 6.5. Nabízí podporu pro skriptovací jazyk PHP, automatické dokončování funkcí, jejich napovídání s provázaností na třídy, kontrolu syntaxe a zvýraznění klíčových slov.
Součástí je ladící nástroj Xdebug. Nová verze dále přichází se vylepšenou podporou JavaScriptu, CSS a techniky AJAX. Můžete také například využít ladění JavaScriptu na Firefoxu a Internet Exploreru.
HTML:
<div id="hodnoceni" style="display:none">text</div>
JavaScript:
// zobrazení
document.getElementById("hodnoceni").style.display="inline";
// skrytí
document.getElementById("hodnoceni").style.display="none";