Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Provjera da li je korisnik prijavljen?
Author Message
stefo Offline
Forumaš
***

Posts: 443
Joined: Jun 2006
Reputation: 3
Post: #1
Provjera da li je korisnik prijavljen?
Znam da smaram ali bile su dve solucije:
- ili da nekog od vas dodam na msn pa mu predocim svoj source code
a on mi kaze gdje ustvari ja grijesim
- ili da mi vi objasnite probleme s kojim se susrecem

Da odmah znate googlam mnogo He he

Evo problema,koristim sesije za ovu skriptu i pravim trenutno user interface.

I ono napravim sve i kontam da je gotovo i da mogu ic' dalje al ne ide...
Naime funkcija koju sam napravio da provjeri jel korisnik logovan mi pravi probleme.
A evo jedna cinjenica koja me malo zeza =/ naime,neko je rekao(schmrz ili Gogy He he) da se kod sesija podaci ostavljaju na server a kod cookija na racunar.

E sad,ja sam zelio da napravim funkciju koja ce provjeriti jel ima sesije,i ako jeste da provjerim jel se poklapa korisnicko ime u sesiji sa onim iz baze,ako se poklapaju = korisnik je logovan,a ako se ne poklapaju znaci sesija ne valja,tj. treba je session_destroy() He he

Kako sam dosao do ideje da to uradim?
Pa dropao sam cijelu bazu i isao pravit opet(bazu xD) jer sam imao uraditi par modifikacija a nije mi bilo do drkanja sa phpmyadminom...
Kad sam digao opet sve,znaci tabela s korisnicima je bila prazna,
ali sesija je i dalje trajala sto mi nije bilo dobro pa sam htio ukinuti...

Lets just say I didnt make it...

Isfrustriran sam ovim problemom evo 4:43AM :|

Kod funkcije:
Code:
function provjerasesije() {

$usrn = $_SESSION['user'];

$cita = mysql_query("SELECT * FROM `korisnici` WHERE user = '$usrn' LIMIT 1") or die("Greska.");
while($s = mysql_fetch_array($cita)) {

$user = $s['user'];

if($_SESSION['user'] != $user) {
echo "Niste logovani!";
session_destroy();
}
else {
$ok = "radi";
}
}
}

Kod koji stavljam u stranice koje koriste funkciju:
Code:
<?
session_start();
include "connect.php"; // konekcija na db
include "funkcije.php"; // tu se ustvari nalazi kod one funkcije

provjerasesije();
if($ok == "radi") {

?>
bla bla sadrzaj.............
<?
}
else {
echo "<meta http-equiv='refresh' content='0; URL=index.php'>";
}
?>

Zanemarite sto je kod uzasno necist jer sam radio za licne potrebe ovo.
A s obzirom da nisam dugo radio u php-u kod nije nesto ni poseban al eto =/
Quick review koda: ako session user i user iz baze nisu isti onda se sesija unistava a ako su isti onda je varijabla $ok jednaka "radi"
a dok je ona jednaka "radi" prikazuje sa sadrzaj stranice,osim ako nije jednaka tome "radi" onda redirektuje na index.php

Mislim da sam pišući ovo shvatio gdje je greska al i dalje ostaje pitanje:
kako ovo sra#e radi na mom kompu koji ima xampp 1.6(ja mislim) a nece na hostu?
Jer na hostu bude obrnuto ovo za $ok == "radi" jer da bi radilo moram staviti $ok != "radi" :S

Sad idem spavati pa cu za koji sat probati popraviti...
Ako neko ima ideju neka posta,sve kritike na racun koda su dobrodosle,samo molim bez vrijedjanja.

Hvala.

Kako kokoshka abortira? Snese jaje na beton.

http://www.stefosimple.co.nr - nekad bilo, sad se spominjalo :(
26-08-2009 04:46 AM
Find all posts by this user Quote this message in a reply
zero Offline
Forumaš
***

Posts: 462
Joined: Jan 2008
Reputation: 10
Post: #2
RE: Provjera da li je korisnik prijavljen?
Ne shvacam bas previse taj tvoj kod, ali da bi provjerio jeli postavljen session jednostavno koristi isset:
PHP Code:
if(isset($_SESSION['user']))
{
//neki kod//
}
else
{
session_destroy();

Inace zasto koristis meta tag kada mozes header funkciju.

Brzo. Jeftino. Kvalitetno. Izaberi dva!
26-08-2009 11:12 AM
Find all posts by this user Quote this message in a reply
stefo Offline
Forumaš
***

Posts: 443
Joined: Jun 2006
Reputation: 3
Post: #3
RE: Provjera da li je korisnik prijavljen?
Evo sredio sam:
Code:
<?

include "connect.php";
session_start();

function provjerasesije() {

$usrn = $_SESSION['user'];

if($_SESSION['logovan'] == "da") {

if(!mysql_query("SELECT * FROM `korisnici` WHERE user = '$usrn' LIMIT 1")) {
echo "Niste prijavljeni!";
session_destroy();
exit;
}

}

else {
echo "Niste prijavljeni!";
}

}

provjerasesije();

?>

A eto odluka je pala He he ovo mi nece vise biti funkcija jer ima razlicitu primjenu za razlicite stranice tako da cu ovaj kod ugraditi u stranice na kojima mi treba.

Kako kokoshka abortira? Snese jaje na beton.

http://www.stefosimple.co.nr - nekad bilo, sad se spominjalo :(
(This post was last modified: 26-08-2009 06:13 PM by stefo.)
26-08-2009 01:03 PM
Find all posts by this user Quote this message in a reply
zero Offline
Forumaš
***

Posts: 462
Joined: Jan 2008
Reputation: 10
Post: #4
RE: Provjera da li je korisnik prijavljen?
Ne kuzim zasto koristis funkcije kada bi sve radilo bez toga. Jednostavno onda includas kod ondje gdje ti treba. A ovako pises nepotrebne linije.

Brzo. Jeftino. Kvalitetno. Izaberi dva!
26-08-2009 06:49 PM
Find all posts by this user Quote this message in a reply
stefo Offline
Forumaš
***

Posts: 443
Joined: Jun 2006
Reputation: 3
Post: #5
RE: Provjera da li je korisnik prijavljen?
Pa kazem evo necu koristis ko funkciju vec cu dodavat kod u potrebne fajlove i modifikovat po potrebi...

Pitanje vezano za mysql: kako da napisem 2 puta where i like u jednom select statementu?

Probao sam ovako:
Code:
$sql = mysql_query("SELECT * FROM korisnici WHERE user LIKE '$username' && WHERE email LIKE '$email'");

I to pogadjam :S
Ne shvatam kako to uraditi,guglao sam ali samo naidjem na jednu WHERE funkciju :(

Kako kokoshka abortira? Snese jaje na beton.

http://www.stefosimple.co.nr - nekad bilo, sad se spominjalo :(
26-08-2009 07:21 PM
Find all posts by this user Quote this message in a reply
zero Offline
Forumaš
***

Posts: 462
Joined: Jan 2008
Reputation: 10
Post: #6
RE: Provjera da li je korisnik prijavljen?
Dodaj id stupac u tablicu (koji ce biti jedinstveni svakom korisniku)... Nesto poput ovog:
PHP Code:
$sql1 mysql_query("SELECT id FROM korisnici WHERE user LIKE '$username'");
$sql2 mysql_query("SELECT id FROM korisnici WHERE email LIKE '$email'");
while(
$provjera1 mysql_fetch_array($sql1))
{
while(
$provjera2 mysql_fetch_array($sql2))
{
if(
$provjera1['id'] == $provjera2['id']
{
$id $provjera1['id'];
}
else
{
die(
"Email i username se ne poklapaju");
}
}
}
$sql mysql_query("SELECT * FROM korisnici WHERE id LIKE '$id'"); 

Brzo. Jeftino. Kvalitetno. Izaberi dva!
(This post was last modified: 26-08-2009 07:44 PM by zero.)
26-08-2009 07:44 PM
Find all posts by this user Quote this message in a reply
stefo Offline
Forumaš
***

Posts: 443
Joined: Jun 2006
Reputation: 3
Post: #7
RE: Provjera da li je korisnik prijavljen?
Fino je sto hoces pomoci He he al ovo nema veze s onim sto ja hocu xD

Vidi,registracija,imam korisnika sa usernameom stefo i emailom stefo@xxx.com

Neko se pokusava registrovati sa istim usernameom ili emailom,da li je to moguce zaustaviti koristeci jedan
sql query za selektovanje iz baze ili moram praviti dva?

Kako kokoshka abortira? Snese jaje na beton.

http://www.stefosimple.co.nr - nekad bilo, sad se spominjalo :(
26-08-2009 08:51 PM
Find all posts by this user Quote this message in a reply
zero Offline
Forumaš
***

Posts: 462
Joined: Jan 2008
Reputation: 10
Post: #8
RE: Provjera da li je korisnik prijavljen?
Pa onda sam ti dao tocan odgovor ili ne znam citati xD. Uglavnom moras koristiti dva querya, barem prema mojem znanju.

Brzo. Jeftino. Kvalitetno. Izaberi dva!
26-08-2009 10:15 PM
Find all posts by this user Quote this message in a reply
schmrz Offline
____
*

Posts: 569
Joined: Feb 2007
Post: #9
RE: Provjera da li je korisnik prijavljen?
Code:
SELECT kol1, kol2 ... FROM korisnici WHERE username = ... OR email = ...

I have no drinking problems. I drink. Get drunk. Fall down. NO PROBLEM
Registered As Linux User #484215
Moj skromni blog
Savjet za buduće programere: ovdje
26-08-2009 10:58 PM
Find all posts by this user Quote this message in a reply
stefo Offline
Forumaš
***

Posts: 443
Joined: Jun 2006
Reputation: 3
Post: #10
RE: Provjera da li je korisnik prijavljen?
Hvala schmrz sad znam za poslije He he uradio sam to sa dva querija... al naci ce se za drugi put...

Inace zasad sve ide dobro...

Kako kokoshka abortira? Snese jaje na beton.

http://www.stefosimple.co.nr - nekad bilo, sad se spominjalo :(
27-08-2009 01:13 AM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 2 Guest(s)