php sesije

2

php sesije

offline
  • Pridružio: 06 Apr 2005
  • Poruke: 403
  • Gde živiš: Beograd

Odradi md5 kriptovanje van upita i biće OK.
Verovatno može i u upitu ali da ne lupam sad.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 19 Jan 2005
  • Poruke: 286
  • Gde živiš: Tamo daleko,tj.Beograd City

moze u upitu sigurno, ili se ja bar secam da sam radio tako



offline
  • Pridružio: 06 Apr 2005
  • Poruke: 403
  • Gde živiš: Beograd

Znam da može,samo ja upit uvek definišem van query-a,sa sprintf(....),tako da sad nisam hteo da lupam.

offline
  • Pridružio: 19 Jan 2005
  • Poruke: 286
  • Gde živiš: Tamo daleko,tj.Beograd City

bolje je kad se hashuje pre query-ja, jer je cistiji kod, ispravio sam gresku, naravno nesto banalno je bilo,nego hteh da priupitam, ako radim sa sesijama da li moram i s kolacicima onda,necu da imam opciju kao prijavljen zauvek i te stvari, kad se ugasi browser hocu data da se i sesija zavrsi,tako da se opet administrator mora logovatiz,btw zbog koriscenja funkcije header() stalno mi se pojavljuje greska poput navedene

Warning: Cannot add header information - headers already sent by (output started at C:\FoxServ\www\bujin\admin\login.php:3) in C:\FoxServ\www\bujin\admin\login.php on line 20

kako ovo da izbegnem,a jos mi ni ovaj kod neradi kako valja,ispravio sam gresku s mysql query-jem, i kad dobijem vrednost promenljive $num ==1 ,nece da prebaci na index.php,

$sql=mysql_query("SELECT * FROM t_admin WHERE username = '$username' AND password= '$password'");

$num= mysql_num_rows($sql);


if($num == 1)
{
setcookie("user",$username);
setcookie("pass",$password);

header("Location : index.php");
}
else
{

header ("Location : login.php");

}
}

offline
  • Pridružio: 06 Apr 2005
  • Poruke: 403
  • Gde živiš: Beograd

Greška sa javlja jer si imao neki izlaz pre postavljanja zaglavlja.
Što se tiče cookie-a,ti ne moraš da ih koristiš ako nećeš,ali imaj na umu da se identifikator sesije prosleđuje ili kroz cookie ili kroz URL.

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

zeenmc ::moze u upitu sigurno, ili se ja bar secam da sam radio tako
Hm, koliko si siguran

Mozes koristiti kolacice odvojeno od sesija. Usput, sesije se cuvaju na serveru, a kolacici na hostu. U tome je razlika

offline
  • Pridružio: 19 Jan 2005
  • Poruke: 286
  • Gde živiš: Tamo daleko,tj.Beograd City

Nisam bas nesto puno radio s kolacicima,a sesije nisam ni pipnu pa sad nemam pojma sta cinit,ja mislim da mi je bolje uradit s sesijama, jer nema potrebe cuvati kolacice na clinetovom kompjuteru kad ce se samo administrator logovati,jer ce on moci jedino da menja sadrzaj, tako da je najbolje teoretski uraditi ovako

administrator posalje podatke (username i password) ka bazi podataka,ako se u bazi nadju odgovarajuci podaci,kreira se sesija administrator_ulogovan,a na svakoj strani ce onda biti deo koda koji proverava da li sesija administrator_logovan postoji,ako ne prebacuje na stranicu login.php,da li postoji jos neka funkcija osim header(), koja moze da prebaci na drugu stranicu

da li je ovo ok sto se tice teorije,jel ovako to u stvarnosti radi,slobodno dodajte sta bi jos moglo,jer nisam dosada radio login

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Pa nema tu neke mudrolije sto se tice logike.

Nevezano za taj sistem -
imas funkciju ob_start(); koju stavis na vrh vrhova i kad ti u skripti prodju sve stvari koje te mogu zezati tipa

Warning: Cannot add header information - headers already sent by (output started at C:\FoxServ\www\bujin\admin\login.php:3) in C:\FoxServ\www\bujin\admin\login.php on line 20

stavis funkciju
ob_end_flush();

Inace ova prva kupi sve, sto bi se trebalo ispisati, u baffer, i kad se ucita ova druga na tom mjesto izbacuje sve sto je u baferu i nastavlja se dalje.

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3633
  • Gde živiš: 127.0.0.1

Mali off:
igor86 ::Usput, sesije se cuvaju na serveru, a kolacici na hostu.

Zar se kolacici ne cuvaju na hard disku?

@zeenmc:

mozes da uradis prebacivanje na drugu stranicu i u client-side...

<?php echo "<script>location.href='login.php';</script>"; die(); // za svaki slucaj :) ?>

odnosno, sve ono sto bi trebalo da stavis na vrh svake stranice:

<?php session_start(); $username=$_SESSION['username']; $password=$_SESSION['password']; if ($username != "" and $password != "") {    $respass = mysql_query("SELECT password FROM ime_tabele WHERE username='$username'");    $row = mysql_fetch_array($respass);        if ($password != $row{'password'}) {       echo "<script>location.href='login.php';</script>";       die();       } } else {    echo "<script>location.href='login.php';</script>";    die(); } ?>

i login.php:

<? session_start(); $connect = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error());    mysql_select_db($dbname, $connect) or die(mysql_error()); $username=$_SESSION['username']; $password=$_SESSION['password']; if ($username != "" and $password != "") {        $respass = mysql_query("SELECT password FROM ime_tabele WHERE username='$username'");    $row = mysql_fetch_array($respass);        if ($password != $row{'password'}) {           $_SESSION['username'] = "";    $_SESSION['password'] = "";    echo "<script>location.href='login.php';</script>";    die();    }    } else {       if (isset($_POST['logmein'])) {       $usr_pass = md5($_POST['password']);       $usr_user = $_POST['username'];           $respass2 = mysql_query("SELECT password FROM ime_tabele WHERE username='$usr_user'");       $row = mysql_fetch_array($respass2);          if ($usr_pass == $row{'password'}) {          $_SESSION['username'] = $usr_user;          $_SESSION['password'] = $usr_pass;          echo "<script>location.href='index.php';</script>";          die();          }          else {             echo "<script>location.href='login.php';</script>";             die();             }    }    else {       echo "<form action='#' method='post'><input type='text' name='username' value='username' onfocus=\"document.forms[0].elements[0].value=''\"><br><br><input type='password' name='password' value='password' onfocus=\"document.forms[0].elements[1].value=''\"><br><br><input type='submit' name='logmein' value=\"Pristupi\" ></form>";       die();    } } ?>

i naravno logout.php (za slucaj da hoces da se izlogujes a da ne zatvaras browser:

<?php session_start(); $_SESSION['username'] = ""; $_SESSION['password'] = ""; ?>

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Citat:Mali off:
Citat:Usput, sesije se cuvaju na serveru, a kolacici na hostu.

Zar se kolacici ne cuvaju na hard disku?


Pa da, sta sam pogresno napisao?

Ko je trenutno na forumu
 

Ukupno su 716 korisnika na forumu :: 20 registrovanih, 2 sakrivenih i 694 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3028 - dana 22 Nov 2019 07:47

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Acaks88, awathorn, BraneS, Buzdovan, Deneb, djo97, dragon986, dragonserbia, dule clio, Faki-Valjevo, Joja, Klecaviks, kvarc, milos97, mustangkg, nemkea71, rovac, sabros, Snorks, VJ