Každý programátor PHP sa stretol s rôznymi problémami počas písania kódu. Od syntaxových chýb až po bezpečnostné problémy ako SQL injection či XSS. Tento článok vám pomôže pochopiť, ako sa vyhnúť týmto najčastejším chybám a ako vytvoriť stabilný a bezpečný PHP kód.
Jeden z najbežnejších problémov, na ktorý narazíte, je nesprávne uzavretý reťazec alebo chýbajúca zátvorka. PHP je veľmi citlivé na syntax, takže aj malá chyba môže viesť k zlyhaniu skriptu.
Príklad chyby:
<?php
echo "Ahoj svet; // Chýbajúca úvodzovka na konci reťazca
?>
Nezabezpečené vstupy môžu spôsobiť vážne problémy ako SQL injection a Cross-site scripting (XSS). Vždy je dôležité validovať vstupy používateľov, aby sa zabránilo týmto útokom.
Príklad SQL injection:
<?php
$meno = $_GET['meno'];
$query = "SELECT * FROM uzivatelia WHERE meno = '$meno'"; // Zraniteľné na SQL injection
?>
Správne: Použitie pripravenej SQL dotazov s parametrami.
Bezpečná správa sessions a cookies je nevyhnutná. Zabezpečte, aby ste správne ukončili session po prihlásení používateľa a šifrovali cookies pre lepšiu ochranu údajov.
Príklad: Uistite sa, že session sa ukončí po odhlásení:
<?php
session_start();
session_unset(); // Zruši všetky premenné session
session_destroy(); // Znič session
?>
Pri porovnávaní hodnôt sa nesmiete pomýliť medzi operátormi ==
a ===
. Prvý porovnáva hodnoty, druhý aj typy.
Príklad:
<?php
$cislo = "5";
if ($cislo == 5) { echo "Zhoduje sa"; } // true
if ($cislo === 5) { echo "Zhoduje sa"; } // false
?>
Vždy používajte ===
, ak chcete porovnávať aj typy.
Pri vývoji v PHP je dôležité efektívne testovať kód. Funkcie ako var_dump()
a print_r()
vám umožnia zobraziť hodnoty premenných. Taktiež, nastavte error_reporting
a display_errors
v php.ini
na E_ALL
pre podrobné chybové hlásenia.
Príklad:
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL);
var_dump($neznamy); // Ukáže hodnoty a typ premenných
?>
Chyby sú nevyhnutné pri vývoji, ale ich správne riešenie vám pomôže vytvoriť stabilný a bezpečný kód. Dúfame, že vám tento článok pomohol objasniť niektoré bežné problémy v PHP a naučili ste sa, ako sa im vyhnúť. Ak chcete naďalej zlepšovať svoje zručnosti v PHP, vyskúšajte náš kurz PHP – Programovanie dynamických webových stránok v PHP a úvod do AJAXu a začnite programovať lepšie a bezpečnejšie aplikácie.
Viac informacií preberáme na kurze:
Kurz PHP - Programovanie dynamických webových stránok v PHP a úvod do AJAXu
Marián Knězek