Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/08/2006, 11:14
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Iniciado por Belero Ver Mensaje
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,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.