Kubala94 Napisano Luty 18, 2016 Zgłoś Udostępnij Napisano Luty 18, 2016 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> Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Bartosz Wójcik Napisano Czerwiec 30, 2016 Zgłoś Udostępnij Napisano Czerwiec 30, 2016 Polecam Ci zapoznać się z takim czymś jak sesje lub cookies, w których możesz przechowywać hash hasła, token użytkownika, a tak w ogóle to sposób odwoływania do SQL jest całkowicie nieprawidłowy i może spowodować atak SQLInjection, zapoznaj się z takim tematem jak PDO. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.