[ GMC @ 09.12.2005. 20:17 ] @
Cao,

Imam sljedeci problem:

napravio sam par php fajlova jedan za identifikaciju korisnika, i ako se identifikacija uspjesno obavi (znaci korsnika ndjem u bazi , ima ispravan pass i login), otvorimi se sljedeca stranica u kojoj taj isti korisnik ima mogucnost da izabere neke opcije koje moze raditi. Eh sad prilikom uspjesne identifikacije ja smjestim neke podatke u odredjene varijable, i to sve radi super jer do tada je korisnik klikao na dugmad ali onda kad treba da klikne na odredjeni "textualni" link (znaci ne ono dugme koje mogu ubaciti")i da mu se otvori nova stranica jednostavno mi se ove varijable nece da iskoriste na tim novotvorenim stranicama.
Mislim da je problem u tome sto ne kroistim include ime_stranice.php , nego sam samo stavio ime_stranice.php u html kod... tako da moje pitanje glasi kako da varijable namjstene na prvoj stranici stalno prosljedjujem dalje...?
[ afwt @ 09.12.2005. 20:53 ] @
http://www.php.net/session
[ TriLLi @ 13.12.2005. 20:24 ] @
koristi bazu podataka za login
stavi session_id() unutra
prosljedi session id novom prozoru što si otvorio
a novi prozor će da provjerava da li postoji taj session_id() u bazi i da li je korisnik logovan ili nije staviš u bazu da ima field logedin i kad potvrdi ti skripta da je logovoan onda radi ono što si ti htio ok
$sid = session_id()
simple href=index.php?sid=$sid
[ GMC @ 16.12.2005. 11:43 ] @
Hvala,

Sad cu da probam
[ GMC @ 17.12.2005. 13:36 ] @
A jel moze mala pomoc oko ovog session_id.

Malo sam gledao ove tutoriale ali nisam jos uvjek shvatio 100% na koji nacin da iskoristim ovo.

Kako sad da ja svakome ko dodje na sajt dodjelim neku drugu vrijednost ove varijable koja ideu session_id i onda kako da prepoznam da je to bas taj covjek kad otvori neku drugu stranicu (znaci da prepoznam da je ulogovan)

Vjerovatno sam ja nesto pogresno razumio sto se tice ovih varijabli i ove komande ali zato vas molim za malo pomoci...


Hvala
[ icatenej @ 19.12.2005. 10:44 ] @
Mozes i ovako da radis:

Inicijalizuj sesiju na svakoj strani pre bilo kakvog HTML outputa (znaci i pre taga <HTML>)

Code:

<?php 
session_start();
?>


Na strani na kojoj izvrsis proveru da li odgovarajuci username i password postoje u bazi uradi nesto slicno sledecem:

Code:

<?php 

if (korisnik_postoji_u_bazi) { // u if stavis nacin na koji vrsis proveru...
  $_SESSION["korisnik_id"] = id_korisnika_iz_baze; // opet kako god da ovo radis..
  $_SESSION["koji_god_drugi_parametar_da_mi_treba"] = drugi_parametar;
} esle {
  vrati_na_stranu_za_login; 
// Ako nisi zapoceo html aoutput mozes sa header("Location: http://moj_sajt.com/neka_strana.php"); 
// ako si zapoceo onda mozes da sa echo odstampas java script sa document.location.replace()
}

?>


Znaci ideja je da napunis globalnu $_SESSION varijablu koja je po svojoj strukturi jedan asocijativni niz. Kasnije na kojoj god strani da ti trebaju ovi podaci samo zoves $_SESSION["korisnik_id"] ili kako si ih vec nazvao. Ne moras da punis session varijablu na ovaj nacin (da za svaki parametar koji ti je potreban formiras novi indeks niza), vec mozes prethodno formirati svoju strukturu npr.

Code:

<?php 

$korisnik = array (
"korisnik_id" = id_korisnika_iz_baze,
"korisnik_ime" = ime_korisnika_iz_baze,
"korisnik_prezime" = prezime_korisnika_iz_baze
);

$_SESSION["ulogovani_korisnik"] = $korisnik;

// I onda npr. ako hoces da stampas ime korisnika to radis sa

echo $_SESSION["ulogovani_korisnik"]["korisnik_ime"]; 

?>


Nadam se da ce ti ovo pomoci...