[ luner @ 03.09.2002. 23:24 ] @
Evo jednog koda koji bi trebalo da radi kao dispečer (tako se uostalom i zove, dispatcher.php :)) koji zbog necega ne radi kako treba. Evo koda: <? // 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! |