Witam. Mam napisany skrypt ktory ma za zadanie utworzyć sesję logowania użytkownika i taki problem, że nie do konca działa, sprawdzałem go dokładnie pod względem literówek i zgodności z bazą wszyskto jest ok, zresztą wszystko jakby działa do momentu trzeciej częsci skryptu gdzie sprawdza się czy istnieje sesja i nawet do mometu sprawdzenia użytkownika i zgodnosci hasła, jakby wszyskto jest ok a jednak nie do konca bo gdyby była sesja to powinny być widoczne odpowienie linki a wygląda to tak :
<?php
require("konfiguracja.php");
if($_POST['submitted'])
{
$sql = "SELECT * FROM loginy WHERE nazwa_uzytkownika = '" .
$_POST['nazwa_uzytkownika'] . "' AND haslo = '" . $_POST['haslo'] . "'";
if($numrows == 1)
{
$_SESSION['USERNAME'] = $row['nazwa_uzytkowika'];
$_SESSION['USERID'] = $row['id'];
header("location: sprawdz.php"); }
else
{
header("location: sprawdz.php?error=1"); }
}
else
{
require("naglowek.php");
if($_GET['error'])
{
echo "Nieudana operacja logowania. Proszę spróbować podobnie!"; }
}
?>
<form action="<?php echo $SCRIPT_NAME ?>" method="post">
<td>Nazwa użytkownika
</td> <td><input type="text" name="nazwa_uzytkownika"></td> <td><input type="password" name="haslo"></td> <td><input type="hidden" name="submitted" value="TRUE"> <input type="submit" name="submit" value="Zaloguj"></td>
I od tego momentu poniższe liniki kodu nie działają odpowiednio :
<?php
if(isset($_SESSION['USERNAME']) == TRUE) {
echo "<a href='wylogowanie.php'>Wylogowanie</a>"; }
else
{
echo "<a href='logowanie.php'>Logowanie</a>"; }
if(isset($_SESSION['USERNAME']) == TRUE) {
echo "<a href='dodawanie_wpisu.php'>Dodaj wpis</a>"; echo "<a href='dodawanie_kategorii.php'>Dodaj kategorie</a>"; }
require("stopka.php");
?>
Mianowicie wygląda to tak, że jesli użytkownik do pola formularza wpisze nieodpowienie hasło to zgodnie z warunkiem wyświetlany jest komunikat o nieudanej operacji logowania oraz link "logowanie.php" i w tym momencie wszyskto jest dobrze, natomiast jeśli użytkownik wpisze w formularz prawidłowy login i hasło to po przetworzeniu formularza komunikat o nieudanej operacji nie wyskakuje ale tez nie ma sesji ponieważ wyswietlany jest link "logowanie.php" a powinien być w wypadku sesji "Wylogowanie.php" oraz dwa ostatnie linki. NIestety tego nie ma. Proszę o pomoc gdzie tkwi błąd, dlaczego nie ma sesji $_SESSION['USERNAME'] ?