[ Divjak @ 18.02.2005. 23:37 ] @
-Kako zabraniti pristup odredjenim stranicama ako neko nije ulogovan?
-Log in deo sam uradio (proveravanje usename-a i passworda) zanima me kako da php zna da je neko ulogovan... i kako da log out-uje nekog kada se site napusti...

hvala...
[ sale83 @ 19.02.2005. 01:29 ] @

E ovako nesto
Code:

<?
if (!eregi("index.php", $_SERVER['PHP_SELF'])) {
    die ("Nece moci ove noci...");
}
if ($_SESSION['registrovan_korisnik'] == NULL)
  {
     echo 'Niste se ulogovali ili niste nas clan, Molimo vas da se registrujete Potpuno besplatno';
     echo " ";
     echo '<a href ="index.php?strana=registracija">Registracija</a>';
     } else     {
      // sada ste ulogovani i mozete da pristupite ovoj stranici
      echo 'Ovo je stranica za clanove';
    ?>


Imas taj primer ovde scripta odlicno radi a i jednostavna je :::

http://www.serbiansite.com/mod...mp;d_op=viewdownload&cid=2
[ WEXY @ 19.02.2005. 01:40 ] @
Koristi PHP Session ID, na početku koda staviš
Code:
session_start();


Ovo će da kreira unique ID koji ce da se sačuva kod korisnika u cookie fajlu, cookie će da se izbriše kada korisnik ugasi browser.

Kada proveriš da su username/password validni uradiš recimo sledeće:
Code:
$_SESSION['ulogovan'] = true;


Ovim si ne u cookie već u fajl na serveru sačuvao da je korisnik kome pripada taj Session ID ulogovan.

Kada se korisnik izloguje, uradi:
Code:
$_SESSION['ulogovan'] = false;


Posle ako korisnik hoće da otvori secret.php, imas sledeći kod u secret.php:
Code:
session_start();
...
...
if ($_SESSION['ulogovan'] == true) {
        // ok moze dalje
}
else
{
        // begaj odavde :) vec vidi sta ces ovde, izbaci poruku ili nesto slicno
}


Naravno u taj fajl na serveru koji odgovara tom ID-u možeš da sačuvaš više polja, ne mora samo ovo 'ulogovan', možeš da čuvas još neke informacije kao što su ne znam username i slično.

Takođe, nisam se preterano igrao sa ovim tako da ne znam kako da namestiš da cookie traje duže, a ne da se obriše kad korisnik ugasi browser, za to ti preporučujem da skineš PHP Manual, predpostavljam da se namešta nekim argumentom funkciji session_start():

http://www.php.net/get/php_manual_en.tar.gz/from/a/mirror

E sad ja sam sve ovo iskucao u 02:38 malopre sam došao iz grada ako sam negde pogrešio razumi :)

Pozdrav.
[ gagi @ 19.02.2005. 02:55 ] @
Ja ovo koristim;
http://www.free2code.net/plugins/articles/read.php?id=99
[ Divjak @ 19.02.2005. 13:41 ] @
Puno hvala... uspeo sam :)