Foros del Web » Programando para Internet » PHP »

Verificar variable en PHP

Estas en el tema de Verificar variable en PHP en el foro de PHP en Foros del Web. Hola, tengo este código, me falta incluirle que verifique una variable antes de mandar el login, básicamente lo que hace es revisar que el usuario ...
  #1 (permalink)  
Antiguo 15/05/2007, 17:04
 
Fecha de Ingreso: abril-2007
Mensajes: 12
Antigüedad: 17 años
Puntos: 0
Verificar variable en PHP

Hola, tengo este código, me falta incluirle que verifique una variable antes de mandar el login, básicamente lo que hace es revisar que el usuario y la contraseña existan en la base de datos para dar acceso, ya lo hace, pero requiero que antes de que lo haga verifique que la variable autorizado esté en "sí". Ojalá me puedan ayudar.

Este es el que no le he metido nada...
Código:
<?php

$action = $HTTP_POST_VARS['action'];
$usuario = $HTTP_POST_VARS['usuario'];
$contrasena = $HTTP_POST_VARS['contrasena'];

require_once('connect.php');
mysql_select_db($database_conn, $conn);

if ($action == 'login'){
	$sql = mysql_query("SELECT contrasena FROM registros WHERE usuario='".$usuario."'");
	if (!$sql) {
		die('Could not query:' . mysql_error());
	}
	$sql2 = mysql_fetch_row($sql);
	if (!$sql2){
		//no existe usuario
		echo 'no existe usuario<br>';
		echo utf8_encode('&opcion=0'); 

	}else{
		if ($contrasena !== $sql2[0]){
			//no coincide pass
			echo 'el pass no coincide<br>';
			echo utf8_encode('&opcion=1');
		}else{
			//usuario y pass correctos
			echo 'datos correctos<br>';
			echo utf8_encode('&opcion=2'); 
		}
	}
	mysql_close($conn);
}
?>

Aca al que le meti lo que quería que hiciera, desde luego no jala y como lo llama flash pues no me marca ningún error, se queda en "conectando..."

Código:
<?php

$action = $HTTP_POST_VARS['action'];
$usuario = $HTTP_POST_VARS['usuario'];
$contrasena = $HTTP_POST_VARS['contrasena'];

require_once('connect.php');
mysql_select_db($database_conn, $conn);

if ($action == 'login'){
	$sql = mysql_query("SELECT contrasena FROM registros WHERE usuario='".$usuario."'");
	if (!$sql) {
		die('Could not query:' . mysql_error());
	}
	$sql2 = mysql_fetch_row($sql);
	if (!$sql2){
		//no existe usuario
		echo 'no existe usuario<br>';
		echo utf8_encode('&opcion=0'); 
	}
	else{
		if ($contrasena !== $sql2[0]){
			//no coincide pass
			echo 'el pass no coincide<br>';
			echo utf8_encode('&opcion=1');
	}
	else{
		if ($autorizado=="sí") {
		//usuario y pass correctos
		echo 'datos correctos<br>';
		echo utf8_encode('&opcion=2'); 
		}
	
	else{
		//usuario y pass correctos
		echo 'no has sido autorizado<br>';
		echo utf8_encode('&opcion=1'); 
		}
	}
	mysql_close($conn);
}
?>
  #2 (permalink)  
Antiguo 15/05/2007, 18:00
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Verificar variable en PHP

te falta traer el campo autorizado en el select
Código PHP:
$sql mysql_query("SELECT contrasena, autorizado FROM registros WHERE usuario='".$usuario."'");
//y en vez de esto if ($autorizado=="sí"), esto
if ($sql2[1]=="sí") {
        
//usuario y pass correctos
        
echo 'datos correctos<br>';
        echo 
utf8_encode('&opcion=2'); 
        } 
me tome el atrevimiento de hacerlo a mi manera, si te parece mejor puedes utilizarlo
Código PHP:
$action $_POST['action'];
$usuario $_POST['usuario'];
$contrasena $_POST['contrasena'];

require_once(
'connect.php');
mysql_select_db($database_conn$conn);

if (
$action == 'login')
    {
        
$sql="SELECT contrasena,autorizado FROM registros WHERE usuario='".$usuario."'";
        
$res=mysql_query($sql,$conn) or die('Could not query:'.mysql_error());
        
$row=mysql_fetch_row($res);
        if (
mysql_num_rows($res)<=0)
            {
                
//no existe usuario
                
echo 'no existe usuario<br>';
                echo 
utf8_encode('&opcion=0'); 
            }
        elseif (
$contrasena != $row[0])
            {
                
//no coincide pass
                
echo 'el pass no coincide<br>';
                echo 
utf8_encode('&opcion=1');
            }
        elseif (
$row[1]=="sí")
            {
                
//usuario y pass correctos
                
echo 'datos correctos<br>';
                echo 
utf8_encode('&opcion=2'); 
            }
        else
            {
                
//usuario y pass correctos
                
echo 'no has sido autorizado<br>';
                echo 
utf8_encode('&opcion=1'); 
            }
    }
    
mysql_close($conn);

suerte y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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 08:58.