Foros del Web » Programando para Internet » PHP »

control usuarios

Estas en el tema de control usuarios en el foro de PHP en Foros del Web. Buenas tardes: Con este script controlo que el usuario no tenga level 0 para entrar. Pero cuando tiene level 0 no me da el mensaje ...
  #1 (permalink)  
Antiguo 10/12/2008, 13:37
 
Fecha de Ingreso: enero-2008
Mensajes: 303
Antigüedad: 16 años, 9 meses
Puntos: 0
control usuarios

Buenas tardes:
Con este script controlo que el usuario no tenga level 0 para entrar.
Pero cuando tiene level 0 no me da el mensaje de error puesto ($mensaje).
Me da la impresión que cometo un error el el SELECT. pero llevo un buen rato con ello y no doy.
¿Podeís echarme una mano?.
Gracias y un saludo

Código PHP:
<?php

// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  
session_start();
}

$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
  
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset(
$_POST['usuario'])) {
  
$loginUsername=$_POST['usuario'];
  
$password=$_POST['pass'];
  
$MM_fldUserAuthorization "level";
  
$MM_redirectLoginSuccess "perfil.php?usuario=$loginUsername";
  
$MM_redirectLoginFailed "";
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_remota$remota);
      
  
$LoginRS__query=sprintf("SELECT usuario, pass, level FROM users WHERE usuario=%s AND pass=%s",
  
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
   
  
$LoginRS mysql_query($LoginRS__query$remota) or die(mysql_error());
  
$loginFoundUser mysql_num_rows($LoginRS);
  
$rowmysql_fetch_assoc($LoginRS);
  if (isset(
$row['usuario']) and($row['level']==0)){
$mensaje"Error= * Usuario pendiente de verificación. Le fué enviado un correo para ello";
}
 else if (
$loginFoundUser) {
    
    
$loginStrGroup  mysql_result($LoginRS,0,'level');
    
    
//declare two session variables and assign them
    
$_SESSION['MM_Username'] = $loginUsername;
    
$_SESSION['MM_UserGroup'] = $loginStrGroup;          
$_SESSION['usuario']= $loginUsername;
    if (isset(
$_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
    }
    
header("Location: " $MM_redirectLoginSuccess );
  }
  else {
  if (
$loginUsername !== $row['usuario']) {
$error"Error= * El usuario o la contraseña no son correctos";

    }
  }
}

?>
  #2 (permalink)  
Antiguo 10/12/2008, 14:14
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: control usuarios

Hola,
Preuba así:
Código PHP:
 $LoginRS__query=sprintf("SELECT usuario, pass, level FROM users WHERE usuario='%s' AND pass='%s'"
Saludos,
  #3 (permalink)  
Antiguo 10/12/2008, 14:39
 
Fecha de Ingreso: enero-2008
Mensajes: 303
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: control usuarios

Hola:

No funciona, me da el siguiente errorel apache:

Código HTML:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'usuario'' AND pass='contraseña'' at line 1
  #4 (permalink)  
Antiguo 10/12/2008, 14:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: control usuarios

Imprime el query completo, al parecer te falta algun campo por lo que veo:

echo $LoginRS__query;

Saludos.
  #5 (permalink)  
Antiguo 10/12/2008, 15:23
 
Fecha de Ingreso: enero-2008
Mensajes: 303
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: control usuarios

Muchas gracias Gator:

Di con ello, era una atontería como casi siempre

Es que tenia un condicional en el echo del error que me impedía impriomirlo.
había puesto if isset..... echo, y sobraba el condicional por que nunca se daba.

Un saludo y muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:07.