Skrypt logowania i rejestracji składający się z kilku plików połączyłem w jeden - index.php. Problem występuje w logowaniu, nie wiem dlaczego, ale po poprawnym zalogowaniu, jak odświeżę stronę, zostaje wylogowany. Według mnie problem tkwi w sesjach, ponieważ dostaje również błędy o wielokrotnie wysłanym nagłówku. Próbowałem już na kilka sposobów, niestety bez skutku. Proszę o pomoc, kod:
<?php // połączenie z mysql // wybór bazy danych if($_SESSION['logged']){ } else { // tworzymy prosty formularz echo '<form action="index.php" method="POST"><input type="text" name="nick" placeholder="nick" style="width: 100px; margin: 0px 5px;">'; echo '<input type="submit" class="btn btn-primary" style="margin-top:0;margin: 0 3px;" name="ok2" value="Zaloguj się"></form>'; // jeśli zostanie naciśnięty przycisk "Zaloguj" { // sprawdzamy czy wszystkie dane zostały podane // jeśli tak... else { // filtrujemy dane // kodujemy hasło // sprawdzamy czy istnieje użytkownik z takim loginem i hasłem // jeśli nie istnieje if(mysql_num_rows($result)==0) echo "<footer class='footer' style='margin: 10px 0px 10px 0; padding: 12px 10px;'><div class='container'>Niestety podałeś niepoprawne dane!</div></footer>"; // jeśli tak... else { // dodajemy wynik zapytania do tablicy // ustawianie sesji że użytkownik jest zalogowany $_SESSION['logged'] = true; // dodawanie do sesji id użytkownika, login oraz datę rejestracji $_SESSION['id'] = $row['id']; $_SESSION['nick'] = $row['nicks']; $_SESSION['data_rejestracji'] = $row['rejestracja']; // wyświetlenie komunikatu oznaczającego poprawne logowanie $session_nick = $_SESSION['nick']; $_SESSION['COS1'] = $liczba[0]; echo "<footer class='footer' style='margin: 10px 0px 10px 0; padding: 12px 10px;'><div class='container'>Zalogowany jako: ".$session_nick." | Liczba: ".$liczba[0]."</div></footer>"; } } } } if($_SESSION['logged']){ { // to go wylogowujemy i usuwamy jego dane z sesji $_SESSION['logged'] = false; $_SESSION['nick'] = ''; $_SESSION['id'] = ''; } } if($_SESSION['logged']) { echo '<form method="POST" action="index.php"><input type="submit" value="WYLOGUJ" name="logout"/></form>'; } else { // nagłówek // tworzymy prosty formularz echo '<form action="index.php" method="POST"> Nick: <br /> <input type="text" name="nick"><br /> Haslo: <br /> <input type="password" name="pass"><br />'; echo '<input type="submit" name="ok" value="Dalej"> </form>'; // jeśli zostanie naciśnięty przycisk "Rejestruj" { // sprawdzamy czy wszystkie dane zostały podane // jeśli tak... else { } } } // rozłączenie z bazą danych ?>
Pozdrawiam.