Nie nie o to chodzi. Jesli komuś to pomoże to podaję cały skrypt :
Kod
<?php
require_once('includes/sessions.php');
require_once 'libs/Smarty.class.php';
require_once ('includes/config.php');
$smarty = new Smarty;
$smarty-> compile_check = true;
$db -> LogSQL();
/**
* Logowanie do gry, ustawianie sesji
*/
if (isset ($_POST['pass']) && $title == 'Start')
{
// Sprawdzanie czy nick i hasło są wpisane
if (!$_POST['nick'] || !$_POST['pass'])
{
$error = "Nie logowano się. Aby się zalogować wróć na stronę główną i wpisz dane do pola z nickiem oraz hasłem.";
$smarty -> assign("error", $error);
$smarty -> display("error.tpl");
exit;
}
$user = $_POST['nick'];
$pass = MD5($_POST['pass']);
$zapytanie = $db -> Execute("SELECT id, login FROM users WHERE login='".$user."' AND pass='".$pass."'");
$logres = $zapytanie -> RecordCount();
if ($logres <= 0)
{
$error = "Konto nie istnieje lub podane dane są nieprawidłowe. Jeżeli jesteś pewny, ze wpisujesz poprawne dane, to Twoje konto mogło zostać usunięte. Po więcej informacji napisz do administracji.";
$smarty -> assign("error", $error);
$smarty -> display("error.tpl");
exit;
}
$zapytanie -> Close();
$intCtime = time() - 180;
$objQuery = $db -> Execute("SELECT count(*) FROM users WHERE rank!='Admin' AND rank!='Sztab' AND lpv>=".$intCtime);
$numo = $objQuery -> fields['count(*)'];
$objQuery -> Close();
$zapytanie = $db -> Execute("SELECT isactive FROM users WHERE login='".$user."'");
$logres = $zapytanie -> RecordCount();
// Sprawdzenie czy konto gracza jest aktywne
if ($logres <= 0)
{
$error = "Twoje konto nie jest aktywne. Żeby móc się zalogować musisz aktywować konto za pomocą linku, który został do Ciebie wysłany mailem.";
$smarty -> assign("error", $error);
$smarty -> display("error.tpl");
exit;
}
$zapytanie -> Close();
// Sprawdzenie czy jest zalogowane więcej niż 500 graczy (nie dotyczy adminów, sztabu i oficerów)
if ($numo >= 500 && $query -> fields['rank'] != 'Admin' && $query -> fields['rank'] != 'Sztab' && $query -> fields['rank'] != "Oficer")
{
$error = "Niestety ale z powodu limitu transferu w grze może przebywać maksymalnie 500 graczy.";
$smarty -> assign("error", $error);
$smarty -> display("error.tpl");
exit;
}
$_SESSION['nick'] = $_POST['nick'];
$_SESSION['pass'] = $_POST['pass'];
}
/**
* W razie końca sesji
*/
if (empty($_SESSION['nick']) || empty($_SESSION['pass']))
{
$error = 'Niestety, ale prawdopodobnie zbyt długo byłeś nieaktywny na koncie i zostałeś automatycznie wylogowany. Może to być jednak błąd z naszej strony. Jeśli kilka razy próbujesz i nie możesz się zalogować ponieważ wyświetla się ten komunikat, napisz do administracji !';
$smarty -> assign("error", $error);
$smarty -> display("error.tpl");
exit;
}
$pass = MD5($_SESSION['pass']);
$stat = $db -> Execute("SELECT id FROM users WHERE login='".$_SESSION['nick']."' AND pass='".$pass."'");
// Konto gracza nie istnieje
if (!$stat -> fields['id'])
{
$error = 'Twoje konto nie istnieje. Żeby móc się zalogować musisz się najpierw zarejestrować !';
$smarty -> assign("error", $error);
$smarty -> display("error.tpl");
exit;
}
$ctime = time();
$ip = $_SERVER['REMOTE_ADDR'];
$title = strip_tags($title);
$db -> Execute("UPDATE users SET lpv=".$ctime.", ip='".$ip."', page='".$title."' WHERE id=".$stat -> fields['id']);
?>
Jest includowany przez każdy plik, który jest po zalogowaniu.