Skocz do zawartości

Jak zrobić panel logowania w PHP , żeby user był zalogowany na każdej podstronie .


Kubala94

Recommended Posts

Witam, mam pytanie zrobiłem prosty system logowania z poradnika z pewnej strony smile.gif następnie "podpiąłem" ten panel logowania do mojej strony , która napisałem w html , działa OK ale pytanie jak zrobić żeby działało na każdej podstronie serwisu .. tzn. żeby użytkownik był zalogowany cały czas nawet jeśli przejdzie na podstronę (obecnie jak kliknę w inna podstronę to się wylogowuje , nawet jak przejdę na stronę główną zaraz po zalogowaniu) jak to napisać w php? Jestem początkującym , proszę o wyrozumiałość smile.gif P.S. wiem , że nikt nie napisze tego za mnie , nie tego oczekuje , tylko proszę o jakieś wskazówki , pokazanie jak to zrobić..

 

    plik zaloguj.php na który jest przekierowanie po wpisaniu danych logowania 
 
 
    <?php
 
        session_start();
 
        if((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
        {
            header('Location: index.html');
 
            exit();
        }
        require_once "connect.php";
 
        $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
 
        if ($polaczenie->connect_errno!=0)
        {
            echo "Error:".$polaczenie->connect_errno;
        }
        else
 
        {
         $login = $_POST['login'];
         $haslo = $_POST['haslo'];
 
          $login = htmlentities($login,ENT_QUOTES, "UTF-8");
          $haslo = htmlentities($haslo,ENT_QUOTES, "UTF-8");
 
 
        if($rezultat = @$polaczenie->query(
        sprintf("SELECT * FROM uzytkownicy WHERE user='%s' AND pass='%s'",
        mysqli_real_escape_string($polaczenie,$login),
        mysqli_real_escape_string($polaczenie,$haslo))))
        {
            $ilu_userow = $rezultat->num_rows;
            if($ilu_userow>0)
            {
                $_SESSION['zalogowany'] = true;
 
                $wiersz = $rezultat->fetch_assoc();
                $_SESSION['id'] = $wiersz['id'];
                $_SESSION['user'] = $wiersz['user'];
                $_SESSION['email'] = $wiersz['email'];
                $_SESSION['kontovip'] = $wiersz['kontovip'];
 
 
                unset($_SESSION['blad']);
                $rezultat->free_result();
 
                header('Location: profile.php');
 
            }else{
 
                $_SESSION['blad'] = '<span style="color:red"> Nieprawidłowy login lub hasło!</span>';
                header('Location: index.php');
            }
 
        }
        $polaczenie->close();
 
        }
 
    ?>
 
 
    dalsza cześć kod plik profile.php
 
    <?php
 
    session_start();
 
    if (!isset($_SESSION['zalogowany']))
        {
            header('Location: index.html');
            exit();
        }
 
    ?>
 
    logout.php
 
 
        <?php
 
        echo "<p>Witaj ".$_SESSION['user'].'![<a href="logout.php">Wyloguj się</a>]';
        echo "<p><b>E-mail</b>:".$_SESSION['email'];
        echo "|<b>Konto Vip</b>:".$_SESSION['kontovip']."</p>";
    ?>
 
    w indeksie mam wklejone to :
 
    <?php
        session_start();
 
        if ((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true))
        {
            header('Location: profile.php');
            exit();
        }
    ?>
 
    <?php
                        if(isset ($_SESSION['blad'])) echo $_SESSION['blad'];
 
                            ?>
     formularz logowania w html:
 
Zaloguj się: <br />
                        <br />
 
                         <form action="zaloguj.php" method="post">
                            Login: <br/> <input type="text" name="login" /> <br />
                            Hasło: <br /> <input type="password" name="haslo" />
 
                            <input type="submit" value="Zaloguj" />
 
                        </form> 

 

Link do komentarza
Udostępnij na innych stronach

  • 4 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...