Ciao a tutti,
sto cercando di prendere il dato da una tabella ed usarlo come condizione in uno switch in questo modo:
$name=$_POST['username'];
$pw=$_POST['password'];
$nome_tabella="utente"; // nome della tabella dove sono contenuti gli utenti
// Connessione al server e select nel database.
$db = pg_connect("host=localhost dbname=progetto user=postgres password=basi")or die("cannot connect");
$sql="SELECT tipo FROM $nome_tabella WHERE email='$name' and pw='$pw'";
$result=pg_query($db,$sql);
// pg_num_row conta il numero di righe del risultato
$count=pg_num_rows($result);
$var=pg_fetch_result($result,0);
// Perchè sia corretto il confronto il risutlato dev'essere composto da una sola riga
if($count==1){
// Registro la sessione ed incremento il timeout
session_start();
$_SESSION['mail']=$name;
$_SESSION['timeout']=(time()+LOGINEXPIRE);
// Verifico che tipo di utente si sta loggando
switch ($var) {
case "iscritto":
header("locationrofilo_iscritto.php");
break;
case "analista":
header("locationrofilo_analista.php");
break;
case "admin":
header("locationrofilo_admin.php");
break;
}
}
else {
header("location:main_login.php?login=1");
}
Ma non so perchè, non funziona...in teoria il fetch dovrebbe restituire una stringa che allo switch non dovrebbe dare fastidio però non funziona, ho comunque provato per sicurezza a castare $var ma con nessun risultato. Se provo a stampare la variabile $var mi stampa il valore corretto ma di far funzionare sto benedetto script non se ne parla. Ah dentro all'if ci entra, ho fatto anche questa prova...non so più che inventarmi, qualcuno ha qualche suggerimento?
Grazie mille in anticipo!!!