<?
// Skript koji usmerava korisnika u zavisnosti od korisnickog imena i lozinke.
// Startovanje sesije.
session_start();
// Registrovanje promenljivih koje se prenose.
session_register("username");
session_register("passwd");
// Ukljucivanje parametara (za povezivanje sa bazom podataka).
include("./etc/config.inc.php");
include("./etc/sql/${dbtype}/config.inc.php");
// Povezivanje sa bazom podataka.
$dbc = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$dbc) {
die(Header("Location: index.php?greska=2"));
}
// Odabir baze podataka.
$dbo = mysql_select_db($dbname);
if (!dbo) {
die(Header("Location: index.php?greska=3"));
}
// Upit koji odredjuje kojoj kategoriji korisnik pripada.
$rez = mysql_query("SELECT kategorija FROM " . $dbtblpref . "korisnici WHERE username='$username' AND passwd='$passwd'");
// Slanje korisnika u:
if(mysql_num_rows($rez) == 1) { // administracioni deo njegove kategorije.
$rezultat = mysql_fetch_array($rez);
Header("Location: $rezultat[kategorija]/index.php");
}
else { // ponovno logovanje.
Header("Location: index.php?greska=1");
}
?>
E sada, kod ne radi kako treba zbog sledece stvari:
- ukoliko skript ne moze da se poveze na server baze podataka - OK (lepo prijavi gresku 2)
- ukoliko nije OK user i pass - OK (lepo prijavi gresku 1)
- ukoliko ne postoji baza podataka SKRIPT UMESTO DA JAVI GRESKU 3 JAVI GRESKU 1!!!
Postoji li neko logicno objasnjenje za ovako nesto?
(vrsi posao ali mi je glupo da ispisuje greski "nije ok user i pass" kada je do baze)
Uzgred, sta mislite o ovom kodu (ko bi ka kako bolje napisao)?
Pozdrav i unapred zahvalan levo potpisani!
*************************************