[ webjunior @ 12.05.2012. 19:31 ] @
Kako da na index.php ubacim kod koji proverava da li je korisnik koji pristupa ulogovan i da li ima snimljen cookie:

1. Ako ima snimljen cookie da ga preusmeri na logovanje.php sa unetim poljima
2. Ako nema cookie ili nije registrovan da ga preusmeri na registracija.php
3. Ako je već ulogovan tj. nije istekla sesija, da ga preusmeri na clanovi.php

ovako mi sad izgleda index.php:

Code (php):


<?php

define('socijala',true);
include_once 'konekcija.php';

?>

 


a logovanje.php:

Code (php):


<?php
defined ('socijala') or die ('Zabranjen pristup!');
ob_start();
session_start();
include_once 'konekcija.php';

?>

 


Evo bas trazim na netu oko sesija i kolacica ali ne ide mi bas najbolje...hvala..
[ ivan.a @ 12.05.2012. 19:36 ] @
1. if (isset($_COOKIE["NEKI_COOKIE"]) ) { header('location: logovanje.php'); }

2. if (!isset($_COOKIE["NEKI_COOKIE"]) AND !isset($_SESSION["REGISTROVAN"]) ) { header('location: registracija.php'); }

3. if (isset($_SESSION["LOGOVAN"]) ) { header('location: clanovi.php'); }
[ webjunior @ 12.05.2012. 23:31 ] @
dooobro, ali kako da definisem

$_SESSION["REGISTROVAN"]

i

$_SESSION["LOGOVAN"]

Mogu da izvrsim proveru unosa username i password. sa if isset...

Mozda sam los princip upotrebio. Pokusavam da napravim prost sajt koji ce sadrzati sledece:

logovanje
registracija
članovi (spisak članova)
profil (lični profil korisnika)

i to su posebne strane, ne znam kako da iskoristim index.php? Nije mi bitan sadrzaj, mogu da stavim bilo sta. Ali pokusavam da nekako izvedem da mi index bude kao neka raskrsnica. :/
[ ivan.a @ 13.05.2012. 09:43 ] @
To sve zavisi od logike programiranja. Neki klasičan sistem koji se često koristi:

config.php
index.php
header.php
content.php
footer.php

sadržaj index.php
Code:
require("header.php");
require("content.php");
require("footer.php");


header.php
Code:
require("config.php");

i sve ostale fajlove koji uključuju funkcije i klase, proveru sesija, konekciju sa bazom, upiti iz baze podataka... Nakon toga ide HTML deo.

U config.php startuješ sesiju i upisuješ sve osnovne postavke (DB_USER, DB_PASSWORD, DB_HOST itd.)

Primer content.php (u ovom slučaju može biti pomenuta raskrsnica)
Code:
if (isset($_SESSION["PRIJAVLJEN"]) ) { include('clanovi.php'); } 
 else 
      { include('prijava.php'); } 

Zatim
Code:
if (!isset($_SESSION["PRIJAVLJEN"]) AND isset($_GET["registracija"]) )
{ include('registracija.php'); } //Ako korisnik nije prijavljen, a kliknuo je na link za registraciju

To je neki osnovni koncept, ali sve zavisi od tvog pristupa...
[ webjunior @ 13.05.2012. 13:46 ] @
e da , razumem. Ovo me buni:

$_SESSION["PRIJAVLJEN"]

da li to znaci da formu za prijavljivanje treba da nazovem PRIJAVLJEN

<form action="..." method "GET" id="PRIJAVLJEN"
</form>

to je valjda za $_POST i $_GET...
Tako da ne znam kako da proverim da li je otvorena sesija PRIJAVLJEN?
[ ivan.a @ 13.05.2012. 16:18 ] @
Predlažem ti da baciš pogled na "Sessions" -
http://php.net/manual/en/features.sessions.php
http://www.w3schools.com/php/php_sessions.asp

Ne moraš formu da nazivaš PRIJAVLJEN, već prilikom provere forme (ako je korisnik ukucao validno korisničko ime i lozinku) definišeš tu sesiju. Na osnovu nje možeš znati da li je korisnik prijavljen ili ne.

Na primer korisnik putem forme pošalje korisničko ime i lozinku:
Code:
  if (isset($_POST["forma_prijave"]) ) {
     //Ovde izvrsis proveru
     if (FORMA_JE_VALIDNA) {
     $_SESSION["prijavljen"] = true; //Ako je sve ok, setuješ sesiju "prijavljen"
    }
  }


Proveru vršiš sa jednostavnim if:
if (isset($_SESSION["prijavljen"]) ) //Bukvalno: ako je definisana sesija "prijavljen"

Ako se korisnik validno prijavio i setovana je sesija (nazvali smo je "prijavljen"), sledeći put kada učita stranicu neće morati ponovo da kuca korisničko ime i lozinku jer sesija "govori" o tome da se korisnik već prijavio.
Kod definisanja odredjene sesije možeš staviti bilo šta (broj, vreme, znak...). Na primer umesto $_SESSION["prijavljen"] = true; možeš staviti $_SESSION["prijavljen"] = time(); - što može biti vreme korisnikove prijave.
Prilikom odjave staviš unset($_SESSION["prijavljen"]); ili jednostavno session_destroy();
[ Qler01 @ 15.06.2012. 18:02 ] @
gde gresim ????



Nece da mi ucita stranu??


<?php
$username = $_POST['username'];
$password = $_POST['password'];

if ($username&&password)
{
$connect = mysql_connect("localhost","root","") or die ("Couldn't connect!");
mysql_select_db("phplogin") or die ("Couldn't find db");

$query = mysql_query("SELECT * FROM users WHERE username='$username'");

$numrows = musql_num_rows($query);

if ($numrows!=0)
{
while($row = mysql_fetch_assoc($query))
{
$dbusername = $row['username'];
$dbpassword = $row['password'];
}
if ($username==$dbusername&&$password==$dbpassword)
{
echo "Ulogovali ste se";
}
else
echo "Incrorrect password";
}
else
die ("Ovaj clan ne postoji");



}
else
die("Molim unesite username i password!");
?>
[ PHPovac @ 15.06.2012. 19:10 ] @
$username&&password - fali $ posle &&!
kod else ti fale curlybraces (} ili {)
takođe imaš i musql što ne postoji...
Ukratko, ceo kod je neispravan i ne poštuje PHP sintaksu!
[ Qler01 @ 15.06.2012. 20:55 ] @
Citat:
PHPovac: $username&&password - fali $ posle &&!
kod else ti fale curlybraces (} ili {)
takođe imaš i musql što ne postoji...
Ukratko, ceo kod je neispravan i ne poštuje PHP sintaksu!


Ako mozes da mi napises kod za else sta trebam da ubacim.
Hvala ti
[ pajaja @ 15.06.2012. 22:27 ] @
mislio je na if(nesto){ nesto }else{ nesto }:
Code (php):

if ($username == $dbusername && $password == $dbpassword) {
     echo "Ulogovali ste se";
} else {
     echo "Incrorrect password";
}
 
[ Qler01 @ 16.06.2012. 08:47 ] @
Opet nece da radi pokusavao sam da izmenim :( da li neko moze da mi napise ceo kod ?
<?php
$username = $_POST['username'];
$password = $_POST['password'];

if ($username&&$password)
{
$connect = mysql_connect("localhost","root","") or die ("Couldn't connect!");
mysql_select_db("phplogin") or die ("Couldn't find db");

$query = mysql_query("SELECT * FROM users WHERE username='$username'");

$numrows = mysql_num_rows($query);

if ($numrows!=0)
{
while($row = mysql_fetch_assoc($query))
{
$dbusername = $row['username'];
$dbpassword = $row['password'];
}
if ($username == $dbusername && $password == $dbpassword)
{
echo "Ulogovali ste se";
}
else
{
"Incrorrect password";
}

echo "Incrorrect password";
}
else
{
die ("Ovaj clan ne postoji");



}
else
{

die("Molim unesite username i password!");
}
?>




Meni cak ni ovo nece da ucita ne znam zasto ???

<?php
$username = $_POST['username'];
$password = $_POST['password'];

if($username && $password)
{
$connect = mysql_connect("localhost","root","") or die("Couldn't connect");
mysql_select_db("phplogin") or die("Couldn't find db");


}
else
die ("Unesite username i password");



?>

[Ovu poruku je menjao Qler01 dana 16.06.2012. u 10:32 GMT+1]
[ PHPovac @ 16.06.2012. 09:38 ] @
Opet ti fali { I } SVUDA!!!
Negde ti fali echo!
Ajde prvo nauči sintaksu php-a pa tek radi login!