Top 10 błędów PHP, które popełnia każdy początkujący
Piszesz kod. Odświeżasz stronę. Widzisz biały, pusty ekran.
Dzieje się tak, ponieważ PHP domyślnie nie wyświetla błędów. Jeśli ich nie widzisz, nie możesz ich naprawić.
Zacznij pracę nad projektem, dodając te linie na początku swojego pliku:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
To wymusza na PHP pokazanie tego, co jest nie tak. Nie używaj tego w środowisku produkcyjnym.
Oto 10 powszechnych błędów i sposoby na ich naprawę.
Brakujące średniki PHP potrzebuje średnika, aby zakończyć instrukcję. Jeśli o nim zapomnisz, skrypt zostanie przerwany. Naprawa: Zawsze kończ linie średnikiem.
Słabe porównywanie Operator == zmienia typy przed porównaniem. Prowadzi to do błędnych wyników. Naprawa: Używaj ===. Sprawdza to zarówno wartość, jak i typ.
Niezdefiniowane zmienne Używanie zmiennej, której nie utworzyłeś, powoduje błędy logiczne. Naprawa: Użyj operatora null coalescing.
$name = $_GET['name'] ?? 'Guest';Zakres zmiennych globalnych Funkcje nie widzą zmiennych znajdujących się poza nimi. Naprawa: Przekazuj zmienne do funkcji jako parametry.
SQL Injection Wstawianie danych od użytkownika bezpośrednio do zapytania jest niebezpieczne. Atakujący mogą wykraść Twoje dane. Naprawa: Używaj instrukcji przygotowanych (prepared statements) z placeholderami.
Cross-Site Scripting (XSS) Wyświetlanie surowych danych od użytkownika na ekranie pozwala na uruchomienie złośliwych skryptów w przeglądarkach. Naprawa: Używaj
htmlspecialchars()przy każdym wyświetlaniu danych.Błędy nagłówków Nie możesz wysłać nagłówka po wysłaniu jakiegokolwiek tekstu lub spacji do przeglądarki. Naprawa: Umieść wywołania
header()na samym początku. Zawsze używajexit()po przekierowaniu.Brakujące klucze formularza Próba uzyskania dostępu do klucza formularza, który nie istnieje, powoduje błędy. Naprawa: Użyj operatora null coalescing, aby zapewnić wartość domyślną.
Include vs Require Polecenie
includegeneruje jedynie ostrzeżenie, jeśli plik brakuje. Skrypt kontynuuje działanie i ulega awarii później. Naprawa: Używajrequire_oncedla krytycznych plików, takich jak połączenia z bazą danych.Niesprawdzone wartości zwracane Wiele funkcji PHP zwraca
false, jeśli zakończą się niepowodzeniem. Użycie tej wartościfalsew kolejnym kroku powoduje awarię. Naprawa: Sprawdź, czy funkcja zwróciłafalse, zanim użyjesz wyniku.
Podsumowanie dla lepszego kodu: • Włącz raportowanie błędów podczas developmentu. • Używaj === zamiast ==. • Sprawdzaj wartości zwracane. • Sanityzuj wszystkie dane wejściowe użytkownika.
Źródło: https://dev.to/bikkisingh/top-10-php-bugs-every-beginner-makes-and-how-to-fix-them-1anh