Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

php login - problem sa sesijom

[es] :: PHP :: php login - problem sa sesijom

[ Pregleda: 2188 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MACTEPx

Član broj: 47593
Poruke: 341
*.3gnet.mts.telekom.rs.



+5 Profil

icon php login - problem sa sesijom21.08.2011. u 18:22 - pre 153 meseci
Pokusavam da napravim login za sajt. Napravio sam login.php koji izgleda ovako:
Code:
<?php
           session_start();
           if ( isset($_POST["submituj"]))
            {
               $sifra=$_POST["sifra"];
               if ($sifra=="sifra") {
                   echo "Pozdrav";
                   $_SESSION["login"]="ok";
                   header("Location: index.php");
               }
               else {
                   echo "Pogresna sifra!";
               }
            }
           ?> 

i index.php
Code:
<?php 
        session_start(); 
        if ($_SESSION['login'] != "ok" ) { 
            header("Location: login.php"); 
            exit(); 
        } 
 ?> 


Kad se ulogujem preko login.php, skripta me prebaci na index.php i to je sve normalno do trenutka kad npr. refreshujem index.php ili pokusam da predjem na neku drugu stranicu koja ima isti php kod za proveru logovanja kao index.php. Tom prilikom kao da se sadrzaj $_SESSION["login"] izbrise i skripta me preusmeri na login.php. Kako da resim ovaj problem da sesija traje sve dok ne uradim logout?

#include <iostream.h>
void main()
{
cout << "Pozdrav...";
}
 
Odgovor na temu

Milan Kragujevic
Software Engineer

Član broj: 231903
Poruke: 2220
*.dynamic.isp.telekom.rs.

Sajt: https://milankragujevic.c..


+201 Profil

icon Re: php login - problem sa sesijom22.08.2011. u 10:23 - pre 153 meseci
Probaj ovako:
sve session_start(); zameni sa
if(!isset($_SESSION)) {
session_start();
}
 
Odgovor na temu

b0ris
Boris Vujicic
Senior PHP programer
Beograd

Član broj: 126587
Poruke: 158
*.adsl.net.t-com.hr.



+2 Profil

icon Re: php login - problem sa sesijom22.08.2011. u 13:13 - pre 153 meseci
Postavi session_start na pocetak index.php fajla, kako bi te se sesija palila za svako otvaranje stranice. (Nije potrebno da imas session_start na svakom koraku)

login proveravas ok, ali bi bolje bilo da imas recimo md5 podataka korisnika iz baze (username, pass) pa da na osnovu toga vidis da li je dobar korisnik, umesto "ok" :D

Pogledaj takodje da li su ti kolacici ok.

Neki patern koji bi mogao da koristis je da na pocetku odma proveravas sesiju. Za debug uradi dump sesije kako bi video da li u njoj ima nesto. Uradi to pre svakog logiranja da mozes da proveris.


A da sad se setih, takodje vidi da nemas neki ispis html-a pre nego sto opalis session_start, session_start ne trpi output pre njenog pokretanja.
---------------------------------------------------------------------
Just do it.
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: php login - problem sa sesijom22.08.2011. u 15:12 - pre 153 meseci
Milane, a kako zamisljas onda da se iscitaju podaci iz vec zacete sesije?

Vrlo je verovatno to sto je b0ris rekao, cini mi se da MACTEPx ovo include-uje u drugi php fajl :)
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: php login - problem sa sesijom22.08.2011. u 22:24 - pre 153 meseci
-Za debagovanje koristi sledeći kod i stavi pre bilo kog drugog koda:
Code:
ini_set ("display_errors", "1");
error_reporting(E_ALL);


-Na kraju skripte dodaj
Code:
var_dump($_SESSION);

...da vidiš koje su sesije setovane.

Za proveru sesije koristi isset :
Code:
if ( isset($_SESSION['login']) ) ...
ili
if ( isset($_SESSION["login"]) AND $_SESSION["login"]=="ok" ) {
//KORISNIK JE PRIJAVLJEN
} else {
//KORISNIK NIJE PRIJAVLJEN
}


Takodje, posle header("Location: index.php"); dodaj i exit; (ili die;) kako kako skripta ne bi nastavila da se izvršava dok se redirektuje stranica.
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

MACTEPx

Član broj: 47593
Poruke: 341
62.240.23.*



+5 Profil

icon Re: php login - problem sa sesijom23.08.2011. u 09:16 - pre 153 meseci
uradio sam dump sesije:
login.php: array(0) { }
kad se ulogujem, skripta me prebaci na index.php: okarray(1) { ["login"]=> &string(2) "ok" }
ALI kad uradim refresh ili pokusam da predjem na neku drugu stranicu opet me vrati na login.php: array(0) { } kao da se izbrisala cela sesija od malopre.

Inace stavio sam session_start na pocetku tako da nije do toga a kolacici su ok jer drugi sajtovi rade normalno. Stvarno ne znam sta bi mogao da bude problem.
#include <iostream.h>
void main()
{
cout << "Pozdrav...";
}
 
Odgovor na temu

[es] :: PHP :: php login - problem sa sesijom

[ Pregleda: 2188 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.