Poslao: 29 Jan 2007 19:46
|
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.
|
|
Poslao: 29 Jan 2007 20:19
|
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
|
|
|
|
Poslao: 29 Jan 2007 20:31
|
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.
|
|
|
|
Poslao: 29 Jan 2007 20:52
|
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");
}
}
|
|
|
|
Poslao: 29 Jan 2007 21:04
|
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.
|
|
|
|
Poslao: 30 Jan 2007 00:19
|
offline
- igor86
- 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
|
|
|
|
Poslao: 30 Jan 2007 01:36
|
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
|
|
|
|
Poslao: 30 Jan 2007 01:47
|
offline
- igor86
- 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.
|
|
|
|
Poslao: 30 Jan 2007 02:41
|
offline
- Rastafarii
- Moderator foruma
- Pridružio: 22 Mar 2006
- Poruke: 3747
- 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'] = "";
?>
|
|
|
|
Poslao: 30 Jan 2007 15:47
|
offline
- igor86
- 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?
|
|
|
|