pytałem się o to, bo mam problem chyba z sesjami. Otóż gdy się zaloguje do mojego panelu to strona główna działa ok, ale gdy klikne w coś wyskakuje komunikat jak gdybym wpisał złe dane
Kod administracja.php
<?php
//...
if (empty($_SESSION['uzytkownik'])){ echo '<table cellspacing="3" cellpadding="0" align="left"> <form action="administracja/index.php?sid=' . session_id() . '" method="post"> <tr><td class="text">Login: </td><td><input type="text" name="uzytkownik" size="20"></td></tr>
<tr><td class="text">Hasło: </td><td><input type="password" name="haslo" size="20"></td></tr>
<tr><td colspan="2"><input type="submit" name="zaloguj" value="Zaloguj"></td></tr>
</form></table><br><br>';
}
unset($_SESSION['uzytkownik']); echo '<table cellspacing="3" cellpadding="0" align="left"><tr><td><p class="text" align="center">Zostałeś wylogowany</p></td></tr></table>'; }
//...
?>
kod administracja/index.php
<?php
// Zabezpiecza dane przed xss
$_POST['uzytkownik'] = strip_tags($_POST['uzytkownik']); $uzytkownik = $_POST['uzytkownik'];
$haslo = $_POST['haslo'];
// Chyba nie trzeba tłumaczyć
$_SESSION['uzytkownik'] = $uzytkownik;
$_SESSION['haslo'] = $haslo;
// Wybiera hasło z bazy danych do porównania z wpisanym
$zapytanie = mysql_query("SELECT * FROM main_admins WHERE nick='$uzytkownik'"); $aHaslo = $wynik['pass'];
}
// Jeżeli hasło jest prawidłowe - początek "Prawidłowe Logowanie"
if ($haslo == $aHaslo){
echo '<table style="width: 640px;" cellspacing="2" cellpadding="0"> // Wyloguj
<tr><td align="right" class="text"><a href="../administracja.php?action=wyloguj"><font color="'.$color[3].'">Wyloguj <b>['.$_SESSION['uzytkownik'].']</b></font></a></td></tr>
<tr><td class="text">Opcje administratora:</td></tr>
<tr><td><hr></td></tr>
<tr><td>';
// Pobiera dostęp do opcji z bazy danych
$zapytanie = mysql_query("SELECT * FROM main_admins WHERE nick='$uzytkownik'"); $acces = $wynik['acces'];
}
// Jeżeli ma pełen dostęp
if ($acces == 'god'){
// Jeżeli nie odnosi się do żadnego modułu wyświetla ich liste
if (!isset($_GET['mod'])){ echo '<p class="text"><a href="'.$PHP_SELF.'?mod=dzialy&sid=' . session_id() . '">Działy</a></p>'; }
// Przykładowo, jeżeli odnosi się do modułu "Działy" to wyświetla opcje
if (isset($_GET['mod']) == 'dzialy'){ // Opcje
}
}
// Jeżeli wchodzi jako tester (demo panelu)
else if ($acces == 'tester'){
// Jakieś tam opcje wyboru
}
echo '</td></tr></table>'; } // Zakończenie "Prawidłowe Logowanie"
// Jeżeli wpiszemy zły login lub hasło to wyświetla błąd
else {
echo '<p class="text" align="center">Podałeś niepoprawne dane<br><a href="../administracja.php">Powrót</a></p>'; }
?>
co mam nie tak ?
EDIT: poprawiłem wyląd kodu, bo mógł być nieczytelny