Witajcie
Potrzebuje u siebie na stronie stworzyć opcje "pozostań zalogowany", jednak nie bardzo wiem jak się za to zabrać ze strony praktyczniej. Czy ustawić zmienne sesyjne w cookie, czy może inne rozwiązanie?
if($stmt->rowCount()!=0){ // jeżeli przednie warunki spełnione itp. /* * Tworzymy sesję dla zalogowanego uzytkownika z: * - informacja, ze uzytkownik jest zalogowany * - jego id */ $_SESSION['logged'] = true; $_SESSION['login'] = $row['id']; $baza->query("UPDATE `users` SET `logtime` = NOW() WHERE `login` = '$login'"); //////////////////////// // Od tego momentu mam kod na utworzenie cookie ///////////////////// $idUzytkownika = $row['id']; $zywotnoscCiastka = 60 * 60 * 24 * 30; //na 30 dni $baza->query("UPDATE `users` SET `autologin` = '$unikalnyKlucz' WHERE `login` = '$login'"); //login jest deklarowany przed if jako _POST }
<?php // do tych dwóch linijek nie jestem pewien.. znalazłem to w internecie i nie do końca to rozumiem //Sprawdzamy czy użytkownik istnieje - sądze że zabezpieczenia tutaj na razie zerowe $stmt = $baza->prepare("SELECT login FROM users WHERE login=:login AND autologin=:autologin"); $stmt->bindValue(":login", $login, PDO::PARAM_STR); $stmt->bindValue(":autologin", $autologinKey, PDO::PARAM_STR); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_NUM); if($stmt->rowCount()!=0){ echo 'Zalogowałeś się!'; // chwilowo echo abym wiedział czy działa i stwierdzam że nie działa, gdyż napis nie zostaje wyświetlony /* * Tworzymy sesję dla zalogowanego uzytkownika z: * - informacja, ze uzytkownik jest zalogowany * - jego id */ $_SESSION['logged'] = true; $_SESSION['login'] = $row['id']; $idUzytkownika = $row['id']; $zywotnoscCiastka = 60 * 60 * 24 * 30; //na 30 dni mamy być zalogowani $baza->query("UPDATE `users` SET `autologin` = '$unikalnyKlucz' WHERE `login` = '$login'"); } } ?>
if($stmt->rowCount()!=0){ /* * Tworzymy sesję dla zalogowanego uzytkownika z: * - informacja, ze uzytkownik jest zalogowany * - jego id */ $_SESSION['logged'] = true; $_SESSION['login'] = $row['id']; $baza->query("UPDATE `users` SET `logtime` = NOW() WHERE `login` = '$login'"); $idUzytkownika = $row['id']; $zywotnoscCiastka = 60 * 60 * 24 * 30; //na 30 dni $baza->query("UPDATE `users` SET `autologin` = '$unikalnyKlucz' WHERE `login` = '$login'"); }