fragment kodu PHP - uwagi odnośnie stylu

0

Tworzę sobie aplikację typu komunikator. Na chwilę obecną wygląda to tak, że mam niecałe 10 plików PHP, które w odpowiedni sposób są ze sobą posprzęgane. Przykładowo, jeżeli nie jestem zalogowany, to jestem przekierowywany na stronę logowania. Jeżeli jestem zalogowany, to niezależnie jaki adres wpiszę, przerzuca mnie na stronę główną.

Poniżej jest fragment skryptu, który sprawdza, że w bazie danych jest user o podanym loginie in podstawie tego niczym zwrotnica kolejowa przekierowywuje dalej. Co sądzicie o takim stylu pisania? Co warto poprawić? Myślałem, by stworzyć osobny plik PHP, w którym zadeklaruję funkcję:

header('Location:xxx.php');
exit();

Skrypt:

<?php
    session_start();

    if (isset($_SESSION['zalogowany']))            
    {
        header('Location:main.php');
        exit();
    }

    if (isset( $_POST['index_login']) && isset( $_POST['index_haslo']))
    {
        $_SESSION['login'] = $_POST['index_login'];
        $_SESSION['haslo'] = $_POST['index_haslo'];

        require_once 'polacz.php';

        $userQuery = $db->prepare("SELECT * FROM users WHERE login = :login");
        $userQuery->bindValue(':login', $_SESSION['login']);
        $userQuery->execute();

        if ($userQuery->rowCount() == 1)
        {
            $_SESSION['zalogowany'] = true;
            header('Location:main.php');
            exit();
        }
        else
        {
            $_SESSION['blad'] = true;
            header('Location:index.php');
            exit(); 
        }
    }
    else
    {
        header('Location:index.php');
        exit();
    }
?>

Uwaga:

  • na nazwy zmiennych nie patrzcie
  • weryfikacje hasła oraz danych z formularza dopiero będę wykonywał
1

Tu jest tyle złego że ciężko to opisać :D

  • Poczytaj o autoloaderze
  • Zapoznaj się z PSR https://www.php-fig.org/psr/ (nie wszystkie uznaje ale z większością się zgadzam)
  • Zapoznaj się z konceptem repozytorium (zapewne zahaczysz o doctrine dla php)
  • Zapoznaj się z konceptem funkcji i reużywania kodu
  • Poczytaj o tym dlaczego Polska nie mogła uchwalić żadnej ustawy kiedyś. I zastanów się jak systemem voterów / walidacji itp.
  • Rób sobie struktury danych na których pracujesz wewnątrz kodu, a które uzupełniasz danymi pochodzącymi od użytkownika

Zakładam że się uczysz wiec celowo nie powiem żebyś poczytał sobie / zaczął korzystać z frameworków. Jak to ogarniesz to pokaż znów kod to ktoś oceni.

1 użytkowników online, w tym zalogowanych: 0, gości: 1