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ł