[ Valerij Zajcev @ 20.08.2010. 14:24 ] @
Znaci pokusavam da pohvatam kako sto kvalitetnije iskodirati login, redirekt, pamcenje korisnika. Ok sve to umem da izvedem ali mislim da nije upotrebljivo. Uzeo sam primer ES-a, zanima me kako se ovo radi.
Dakle:
1) Kada je neko neulogovan, prikazuje se jedno stanje aplikacije, ok to je jedan zbrbockan HTML (index.php).
2) Kada se korisnik uloguje, submit opali login.php ovaj napravi proveru, uzme podatke, zapocne sesiju, ???redirekt??? ovaj deo mi je sada nejasan. Da li se nakon uspesnog login-a, vraca na isti index.php i menja HTML prema nekim parametrima, ili se ide na neku drugu php stranu?
3) Ili sam ja to sve pogresno povezao?


Izmenio DakiPro: Molim te ubuduce smislenije imenuj teme

[Ovu poruku je menjao dakipro dana 20.08.2010. u 16:05 GMT+1]
[ Jezdimir Lončar @ 20.08.2010. 14:45 ] @
1. Korisnik (gost) dođe, neulogovan. Prikazuje mu se forma za logovanje. Da li je korisnik ulogovan ili ne, možeš da provjeravaš na više načina, primjera radi sesije. Ako sesija postoji, onda je korisnik ulogovan, ako ne - onda nije.
2. Korisnik unese podatke, username i password, ode na login.php. Tu provjeriš njegove podatke (upoređivanje sa bazom ili w/ever). Ako su podaci validni - lupiš header() redirekciju ili prikažeš stranicu ili šta već hoćeš.
Ako podaci nisu validini, prikažeš grešku. Ovde nema mnogo mudrosti?
Ako ti sam redirekt nije jasan, možeš to da radiš na par načina.
1. Ako ništa nisi prikazivao na stranici, možeš da pošalješ header("location: ....."); header i on će korisnika preusmjeriti na stranicu koju si naveo posle " : ".
2. Meta redirekcija. Prikažeš neki HTML / stranicu / šta god, i na toj stranici staviš META tag (google-aj) da preusmjeri korisnika na stranicu na koju hoćeš.
3. JavaScript. Ovo ćeš vjerovatno sam skapirati, pa da ne detaljišem, uglavnom, po meni je ovo nepraktično iz više razloga, i konkretno ja ovo izbjegavam.

3. Kad ti se korisnik vrati na index.php, jedino što će se promjeniti je to da je sada korisnik ULOGOVAN (odnosno sesija je postavljena) i ti na osnovu toga možeš da mu pokažeš "Pozdrav korisniče.".
Evo ti primjer koda kako bi to išlo:

Code (php):

<?php
session_start();

if(isset($_SESSION["korisnik"])){
echo "Pozdrav korisnice...";
}
else {
echo "<form>blalballalalalal</form>";
}
?>
 
[ Nikola Poša @ 20.08.2010. 14:45 ] @
Redirekcija nakon login-a ide na poslednje posećenu stranicu, što je u tvom primeru index.php. Nakon uspešne prijave, autorizovanom korisniku će umesto login forme biti prikazan meni (Profil, Izmena profila, itd.). To sad može da se realizuje na razne načine, npr. direktnim ubacivanjem tih provera da li je korisnik autorizovan ili ne u HTML, i onda prikazivanje jednog odnosno drugog "parčeta" HTML-a. Drugo, verovatno bolje rešenje, je da se ta logika utvrđivanja autentičnosti korisnika izmesti u PHP, pri čemu bi onda backend radio sve te provere i onda diktirao koji će layout, view, šta već, biti prikazan.