Cita:
Iniciado por Belero
Hay varios fallos en ese script, con
estos ejemplos seguro que solucionas el problema
Como que fallos serían?
yo alcanzo a ver:
0) De lógica ..
Si dices tener un "usuario" donde defines cierto "nivel" .. el usuario por lo menos sea quien sea se debe "autentificar" en tu sistema .. No sé como gestionas ese tema .. pero debería ser como más abajo te expongo.
2) No puedes ver si un resultado de una consulta SQL arroja un sólo registro (o más) viendo sólo lo que devuelve "mysql_query()" .. Esa función al "ejecutarse" devuelve un "true" .. pero no si arrojó resultados o no .. Para eso tienes la función mysql_num_rows() para hacer esas necesarias validaciones.
3) Lo ideal es usar mysql_query() junto con mysql_error() para ver si te arrojó algún error la consulta (no de resultados).
Quedaría algo tipo:
Código PHP:
<?
// Concecta a tu BBDD .. selecciona la BBDD a usar
$query = mysql_query( "SELECT usuarios WHERE nivel='Administrador' AND usuario='".mysql_real_escape_string($_POST['usuario'])."'");
// Asumo que el usuario (variable) llega de un formulario (en POST) minimo .. o será una variable de sesion o cookie.
// Se ejecuta la consulta SQL
$result = mysql_query($query) or die (mysql_error());
// Se verifica que obtengo un sólo resultado que es lo que busco: que para ese usuario su "nivel" sea el que necesito.
if (mysql_num_rows($result) == 1){
header("Location: registro.php");
exit;
} else {
header("Location: registro2.php");
exit;
}
Un saludo,