3.1.2020Ako inštalovať Apache, MariaDB, PHP a Perl na LinuxePo dlhej dobe som pripravil ďalší zaujímavý článok na tému Linux a LAMP. V tomto prípade ide o modifikovanú verziu, keďže namiesto MySQL budeme inštalovať MariaDB a k tomu ešte ako bonus Perl.4.2.2017Ako generovať web z JSONaV tomto článku chcem predstaviť môj nový projekt s názvom JSON to HTML head for PHP (json2htmlhead), ktorý som umiestnil na GitHub. Projekt v jazyku PHP slúži na generovanie elementu head z dát vo formáte JSON. Má širokú podporu elementov meta vrátan3.9.2015Naming conventions - Názvy identifikátorov časť 2Nedávno pri jednom kurze som si spomenul, prečo je vhodné písať niektoré premenné neurčito a ako to môže neskôr pomôcť pri úpravách v kóde. Asi každý programátor chce mať prehľad o premenných a ich obsahu a preto často dáva premenným aj súvisiace náz2.9.2015Fatal error: Call to a member function fetchAll() on a non-object in (PHP)Pri písaní SQL príkazov v jazyku PHP môže používateľ naraziť na chybové hlásenie Fatal error: Call to a member function fetchAll() on a non-object in PATH. Toto chybové hlásenie môže spôsobiť nesprávny zápis reťazcov v SQL príkaze.24.8.2014Ako vo WAMP zmeniť www directoryPo dlhom čase som vyriešil podporu debugovania PHP skriptov prostredníctvom nástroja Xdebug v IDE Netbeans pod operačným systémom Windows 8.1. Pôvodne som na tento účel chcel použiť XAMPP, no Xdebug som stále nevedel spojazdniť. Obdobne som mal probl1.3.2014Ako konfigurovať PHP na NAS DiskStationTak ako väčšina NAS zariadení aj zariadenia DiskStation ponúkajú nainštalované webové služby, medzi ktoré patria aj populárne riešenia Apache, PHP a MySQL. Ako sa k ním ale dostať a ako modifikovať ich nastavenia? Základné modifikácie je možné vykona30.4.2013Ako hľadať znak + cez regulárny výrazPri práci s regulárnymi výrazmi môže programátor naraziť na problém, ako vyhľadávať znak +. Keďže znak + patrí medzi jeden z metaznakov regulárneho výrazu, je potrebné ho zapísať buď ako escape sekvenciu so znakom \ alebo ho umiestniť do metaznakov [27.4.2013Aké typy návratových hodnôt môže obsahovať príkaz returnPríkaz return patrí medzi príkazy, ktoré sú použité takmer v každom programovacom jazyku. Okrem okamžitého ukončenia funkcie alebo metódy môže príkaz return vrátiť aj hodnotu ako výsledok určitej operácie. V závislosti od typu programovacieho jazyka27.4.2013Coding style - návratové hodnotyV rámci štýlu písania programového kódu je možné pri funkciách a metódach definovať pravidlá aj pre návratovú hodnotu. Kým programovacie jazyky umožňujú zápis funkcií a metód aj bez návratovej hodnoty, niektorí autori preferujú, aby každá metóda a fu21.4.2013Komentáre v programovom kódeKomentáre tvoria súčasť každej aplikácie. Tak ako rôzne časti programového kódu aj komentáre majú svoje pravidlá. Okrem spôsobu ich zápisu (coding style) je potrebné sa riadiť aj ďalšími pravidlami, ktoré vytvárajú programový kód kvalitnejším a prehľ29.3.2013Pozor na použitie funkcie rename() v jazyku PHPPráca s funkciou rename() je veľmi jednoduchá. Stačí zadať dva argumenty. Prvým argumentom je názov pôvodného súboru alebo adresára a druhým nový názov, na ktorý bude súbor alebo adresár premenovaný. Problém ale môže nastať, ak sa má premenovať adres28.2.2013Ako nahradzovať reťazce s podporou UTF-8 (PHP)Práca v PHP so znakovou sadou Unicode môže byť pre programátorov oveľa zložitejšia ako v iných jazykoch. Výnimkou tak nie sú ani funkcie pre nahradzovanie reťazcov. Ak chce s nimi programátor efektívne pracovať, musí si naštudovať aspoň základnú prob25.2.2013Ako prehľadne zobraziť obsah poľa v PHPPráca s poľom je jednou z najčastejšie vykonávaných činností v rámci tvorby skriptov. Príkladom je manipulácia s dátami vo formáte XML, kde je pole veľmi často výsledkom jednotlivých operácií. Problém ale nastáva, ak sa má obsah poľa zobraziť v inter23.2.2013 (posledná aktualizácia 24.2.2013)Ako správne zistiť veľkosť reťazca v jazyku PHPPráca sa so slovenskou znakovou sadou ako aj ďalšími znakovými sadami, ktorých znaky nezodpovedajú znakom ASCII, je v jazyku PHP asi najčastejším problémom. Výnimkou nie je ani tak jednoduchá operácia, akou je zistenie počtu znakov v reťazci.22.2.2013Ako konvertovať dátum vo formáte RFC 2822Formát RFC 2822 je jedným z často používaných formátov pre dátum a čas, s ktorým sa je možné stretnúť najmä pri výmene dát. Ako príklad možno uviesť dokumenty XML a populárny informačný formát RSS. Kedže formát RFC 2822 nie je určený pre používateľov22.2.2013Error : Unexpected XSLT element 'param'Pri práci s parametrami v jazyku XSLT s použitím PHP sa môže používateľ stretnúť s chybovým hlásením XSLTProcessor::transformToXml(): Unexpected XSLT element 'param'. Toto hlásenie sa zobrazí, ak je definícia parametra umiestnená na nesprávnom mieste16.2.2013Čo je programový blokProgramový kód umiestnený do zložených zátvoriek {} je označovaný ako blok, obsahový blok, programový blok alebo telo. Všetkými názvosloviami sa myslí rovnaká funkcia, teda vyhradená časť kódu, ktorá je priradená len určitému prvku jazyka, napríklad 16.2.2013Čo je príkazPríkazy popri operátoroch, premenných a primitívnych hodnotách sú ďalšou súčasťou programovacieho jazyka. Príkazy určujú čo sa má vykonať, ako sa to má vykonať a zároveň slúžia na prácu s primitívnymi hodnotami a premennými. Z príkazov je možné vytvá16.2.2013Čo je prázdny príkazV rámci programovania sa je možné okrem bežných príkazov stretnúť aj s pojmom prázdny príkaz. Prázdny príkaz zastupuje znak ; (bodkočiarka), ktorému nepredchádza žiaden výraz. Uvedením samostatného znaku ; vzniká prázdny príkaz, v literatúre nazývaný13.2.2013 (posledná aktualizácia 14.2.2013)Ako na dokumenty HTML5 a metódu getElementById() v PHPPHP v súčasnosti pri nahratí fragmentov HTML5 prostredníctvom triedy DOMDocument zobrazuje chybové hlásenia, ktoré je možné vypnúť napríklad cez displayError. Vypnutím displayError ale programátor stráca kontrolu nad zvyškom kódu. Ďalšou možnosťou12.2.2013Ako zobraziť premennú v reťazci (PHP)Hodnoty premenných sú veľmi často zobrazované ako súčasť reťazcov. Premenné je preto možné zapisovať do reťazcov alebo mimo nich. Zobrazenie premennej je možné vykonať rôznymi spôsobmi pričom treba myslieť aj na dátový typ, ktorý zastupuje.12.2.2013Ako zobraziť znak $ v reťazci (PHP)Znak $ má v jazyku PHP špecifickú funkciu. Keďže je súčasťou názvu premennej, práca s ním vyžaduje pozornosť a to najmä pri zápisoch v reťazcoch. V prípade, že znak $ bude do reťazca zapísaný nesprávnym spôsobom, môže spôsobiť chybové hlásenie.5.2.2013Ako zobraziť diakritiku v jazyku PHPJedným z prvých problémov začínajúcich programátorov v jazyku PHP je práca s národnou znakovou sadou. Príkladom je slovenská znaková sada a znaky s diakritikou. Kým v jazyku JavaScript sa programátor nemusí starať o problémy so znakovými sadami, v PH30.1.2013Spoznávame číselné sústavyČíselné sústavy sú najčastejšie úvodom do sveta informačných technológií a stretnúť s nimi sa je možné aj v rámci rôznych programovacích jazykov a programov. Za týmto účelom som pripravil článok zameraný na prevádzanie číselných sústav a vysvetlenie 25.1.2013 (posledná aktualizácia 20.4.2013)Coding style - komentáre - časť 2V tejto časti venovanej komentárom sa budem venovať komentovaniu programových blokov a konštánt. Pravidlo pre komentáre konštánt je možné aplikované aj na premenné pričom treba vedieť, že premenné až na výnimky by mali mať názvy zodpovedajúce uchova19.1.2013 (posledná aktualizácia 25.1.2013)Coding style - komentáre - časť 1Skôr než začne tím alebo programátor tvoriť projekt, je dôležité definovať pravidlá pre tvorbu kódu. Pravidlá sa musia týkať názvoslovia (naming conventions) a štýlu tvorby programového kódu (coding style). Pravidlá by mali byť spísané v dokumentoch 16.1.2013 (posledná aktualizácia 17.1.2013)Ako získať znaky z reťazca (PHP)K znakom reťazca v jazyku PHP je možné pristupovať ako k prvkom poľa cez operátor []. Medzi znakmi [] sa nachádza index. Index reprezentuje celé číslo a zároveň pozíciu znaku v reťazci. Číslovanie indexu začína od čísla 0, takže prvý znak reťazca má 15.1.2013Ako pracovať s PEAR bez inštaláciePEAR (PHP Extension and Application Repository) je repozitár rozšírení a aplikácií PHP, ktorý poskytuje niekoľko nástrojov nazývaných balíčky (packages) uľahčujúcich vývoj aplikácií v jazyku PHP. PEAR nie je však všade možné automaticky nainštalovať 11.1.2013 (posledná aktualizácia 14.2.2013)Ako vytvoriť dátum pre formát RSS (PHP)Pri tvorbe internetových stránok je často potrebné pracovať aj s dátumom a časom. Spôsoby manipulácie s týmto formátom sú rôzne. Každá aplikácia môže vyžadovať iný typ formátu. Pri tvorbe súborov RSS je potrebné dátum konvertovať do formátu v zmysle 8.1.2013Error: [8]: Undefined index: HTTP_REFERERPri práci so superglobálnou $_SERVER môže programátor naraziť na chybové hlásenie Error: [8]: Undefined index: HTTP_REFERER. Dôvodom chybového hlásenia je fakt, že pole $_SERVER neobsahuje index HTTP_REFERER. Tento jav nastáva, ak je súbor so zápisom8.1.2013 (posledná aktualizácia 17.2.2013)Zobrazujeme chybové hlásenia v PHPNie každý má možnosť si vykonať nastavenia vývojového prostredia. V mojom prípade ide o nastavenia PHP a Apache, ktoré sú na vzdialenom serveri. Teoreticky ich nie je problém nastaviť napríklad cez WinSCP, ale s každou aktualizáciou servera by som mu23.12.2012Krátky slovníkV tomto príspevku sú vysvetlené niektoré skratky a pojmy súvisiace s tvorbou internetových stránok. Obsah článku by som chcel postupne rozšíriť. K jeho rozšíreniu môžu prispieť aj čitatelia prostredníctvom komentárov.18.12.2012Error: [2]: Missing argument number for functionName (PHP)Pri práci s funkciami je možné naraziť na chybové hlásenie Error: [2]: Missing argument number for functionName. Uvedená chyba znamená, že pri volaní funkcie bolo použitých menej argumentov, ako očakáva hlavička funkcie. Súčasťou hlásenia je uvedenie17.12.2012 (posledná aktualizácia 14.2.2013)Ako spraviť z hodnoty premennú (PHP)Sú situácie, kedy by programátor rád pracoval s hodnotami ako s premennými. Jazyk PHP túto vlastnosť umožňuje prostredníctvom znakov $. Tie vytvoria z priradenej hodnoty regulárnu premennú.16.12.2012Vytvárame funkcie v jazyku PHP - časť 3Posledná časť seriálu venovaná funkciám v jazyku PHP predstavuje ďalšie spôsoby vytvárania a volania funkcií a to prostredníctvom premennej a funkcie create_function(). Záver článku sa venuje príkazu return. 16.12.2012Vytvárame funkcie v jazyku PHP - časť 2Prvá časť venovaná funkciám v jazyku PHP predstavila základné spôsoby zápisu a volania funkcií. V tejto časti bude predstavené predávanie argumentov hodnotou a odkazom.16.12.2012Vytvárame funkcie v jazyku PHP - časť 1Jazyk PHP, tak ako aj iné programovacie jazyky, umožňuje vytvárať funkcie viacerými spôsobmi. Na rozdiel od iných programovacích jazykov ponúka aj viac možností pre prácu s funkciami.15.12.2012Error: [8]: Undefined index: keyName (PHP)Pri práci s poľom môže programátor naraziť na chybové hlásenie Error: [8]: Undefined index: ukončené celým textom. Táto chyba vznikne, ak je v rámci asociatívneho poľa volaný index (key), ktorý nebol ešte definovaný. Reťazec na konci chybového hláse15.12.2012 (posledná aktualizácia 23.2.2013)Error: [8]: Undefined offset: number (PHP)Pri práci s poľom môže programátor naraziť na chybové hlásenie Error: [8]: Undefined offset: ukončené celým číslom. Táto chyba vznikne, ak je v rámci poľa volaný index (key), teda pozícia v poli, ktorá nebola definovaná. Celé číslo na konci chybové12.12.2012 (posledná aktualizácia 12.1.2013)Funkcia scandir() (PHP)Funkcia scandir() vráti pole obsahujúceho súbory a adresáre v definovanom adresári. Argumentom je cesta k adresáru v podobe reťazca a voliteľným argumentom spôsob zoradenia. Ten môže mať hodnoty 0 alebo 1. Výsledok funkcie scandir() je možné spracova12.12.2012 (posledná aktualizácia 22.2.2013)Ako zistiť verziu OS, PHP a ApacheNie každý si inštaluje WAMP alebo LAMP vo svojej réžii. Niekto mohol vývojové prostredie prevziať po niekom inom, iný zase mohol k nemu prísť ako koncový používateľ. Ja napríklad používam rôzne servery, kde LAMP mám nainštalovaný výrobcom a na inom s12.12.2012Fatal error: Call to undefined function: scandir() in ...Pri použití funkcie scandir() sa môže autorovi zobraziť chybové hlásenie: "Fatal error: Call to undefined function: scandir() in ...". Dôvodom tohto hlásenia je zastaraná verzia jazyka PHP. 7.12.2012 (posledná aktualizácia 23.2.2013)Zabudnite na znakovú sadu Windows-1250, je tu UTF-8Nie je tak dávno, čo všade kde som pozrel, bola uvádzaná znaková sada pre slovenské prostredie windows-1250, prípadne cp-1250, iso-8859-1, iso-8859-2 a ďalšie. Tento jav bol vo všetkej dostupnej odbornej literatúre, ktorá bola na slovenskom a českom 5.12.2012 (posledná aktualizácia 9.12.2012)Error: [8]: Undefined variable: variableName (PHP)Chybové hlásenie "Error: [8]: Undefined variable: variableName" oznamuje, že premennej, ktorá je uvedená v hlásení, je potrebné priradiť hodnotu skôr ako s ňou budú vykonané operácie. 2.12.2012 (posledná aktualizácia 17.2.2013)Nový riadok v PHP s príkazom echoPo dlhšej odmlke a návrtu k PHP som hneď na začiatku začal riešiť triviálny problém, ako vytvoriť nový riadok. Všetky články a aj knihy, ktoré mám, uvádzali štandardné zalomenie riadka cez \n. Tiež som si to takto pamätal, ale zápis \n stále nechcel 30.11.2012 (posledná aktualizácia 9.1.2013)Zabudnutý apostrof spôsobuje nevalidný zápis dokumentuPri používaní skriptu, kde sa generuje markup, môžu neošetrené znaky spôsobiť nepredvídateľné a ťažšie identifikovateľné chyby programu. Jedným z týchto znakov je aj apostrof v prípade, ak má byť vytvorený markup s atribútmi a hodnotami.29.11.2012 (posledná aktualizácia 29.1.2013)Error: [2048]: date() [function.date]: It is not safe to ... (PHP)Pri práci s funkciou date() v jazyku PHP môže programátor naraziť na chybové hlásenie "Error: [2048]: date() [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable 22.11.2012 (posledná aktualizácia 2.1.2013)Hlásenie 403 ForbiddenKeďže dlhšiu dobu som profesionálnejšie nepracoval s PHP a Apache, tak narážam na rôzne problémové situácie, ktoré musím postupne riešiť. Jednou z nich bolo aj chybové hlásenie 403 Forbidden, ktoré vznikalo v situácii, keď som sa snažil v rámci AJAX-