Foros del Web » Programando para Internet » PHP »

Ayuda! que esta mal con esta comprobacion antes de entrar el user? :S =(

Estas en el tema de Ayuda! que esta mal con esta comprobacion antes de entrar el user? :S =( en el foro de PHP en Foros del Web. Buenas tardes... feliz año a todos! =) eh estado haciendo una pagina en php y nunca me habia metido en la forma como inician seccion ...
  #1 (permalink)  
Antiguo 10/01/2010, 15:03
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 11 meses
Puntos: 8
Ayuda! que esta mal con esta comprobacion antes de entrar el user? :S =(

Buenas tardes... feliz año a todos! =) eh estado haciendo una pagina en php y nunca me habia metido en la forma como inician seccion los usuarios..

hasta ahora que eh querido agregarle, que compruebe un valor.. si el valor es diferente de 0 no lo deje entrar... esto lo hago con la intencion de hacer un estilo como de sistema de baneo.. donde yo actualizo la columna ''estado'' a 1 y asi no pueden entrar ...

entonces queria hacer una consulta y agarrar el valor del estado, si es diferente a 0 no puede entrar ...

aqui esta el codigo pero no se que esta mal.. =( aun con el valor en 1 me sigue entrando.. me pueden ayudar seguro es algo que se me a pasado.. :S
Código:
<?php
// Configura los datos de tu cuenta
    $dbhost='localhost'; 
$dbusername='root'; 
$dbuserpass=''; 
$dbname='prueba'; 

session_start();

// Conectar a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

if ($_POST['nombre']) {
//Comprobacion del envio del nombre de usuario y password
$nombre=$_POST['nombre'];
$password=$_POST['password'];
$estado=0;
if ($password==NULL) {
echo "<center>La password no fue enviada<center>";
}else{
$query = mysql_query("SELECT nombre,password,estado FROM usuarios WHERE nombre = '$nombre'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "<center>Login incorrecto<center>";
}else{
if($data['estado'] != $estado){
echo "<center>Tu cuenta a sido Suspendida<center>";
}else{
$query = mysql_query("SELECT nombre,password FROM usuarios WHERE nombre = '$nombre'") or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_nombre"] = $row['nombre'];
header("Location: archi.php");
}
}
}
}
?>
  #2 (permalink)  
Antiguo 10/01/2010, 15:24
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 11 meses
Puntos: 8
Respuesta: Ayuda! que esta mal con esta comprobacion antes de entrar el user? :S =(

ya lo eh solucionado haciendo una consulta eh imprimiendo el valor en una variable..


aqui esta: tambien se podria poner el numero en una variable y quedaria mas comodo a la hora de configurarlo..

Código:
<?php
// Configura los datos de tu cuenta
    $dbhost='localhost'; 
$dbusername='root'; 
$dbuserpass=''; 
$dbname='prueba'; 

session_start();

// Conectar a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

if ($_POST['nombre']) {
//Comprobacion del envio del nombre de usuario y password
$nombre=$_POST['nombre'];
$password=$_POST['password'];
$consulta=mysql_query("SELECT estado FROM usuarios WHERE nombre='$nombre'");
	$lado=mysql_num_rows ($consulta);
while($row=mysql_fetch_array($consulta)){
$estado=$row["estado"];
if ($password==NULL) {
echo "<center>La password no fue enviada<center>";
}else{
$query = mysql_query("SELECT nombre,password FROM usuarios WHERE nombre = '$nombre'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "<center>Login incorrecto<center>";
  }else{
	if($estado!=0) {
    echo "<center>Tu Cuenta a sido Suspendida</center>";
}else{
$query = mysql_query("SELECT nombre,password FROM usuarios WHERE nombre = '$nombre'") or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_nombre"] = $row['nombre'];
header("Location: archi.php");
}
}
}
}
}
?>

Etiquetas: comprobacion, mal, usuarios
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 14:00.