guardo en la base de datos dos campos adicionales campos que son activacion cero para activado y 1 para desactivado.
y el otro campo lo lleno con un numero aleatorio de 20 digitos.
al registrarse el user todo va bien, me inserta bien los datos, el numero aleatorio y en estado lo pone bien en 1
el problema viene al validar al usuario con el login, tanto este el campo de estado en 0 o en 1 activado o desactivado no me deja entrar
osea, que el u8suario con la cuenta activada no entra y el otro tampoco.
uso este script para validar.
donde esta la burrada que cometo.
Gracias.
Código PHP:
<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','xxxxx','xxxxx')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('registro')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
$estado= "0"; //creo la variable $estado=0 para compararla despues con el campo de la BD estado y si son cero le dejara pasar
if ($_POST['usuario']) {
// Puedes utilizar la funcion para eliminar algun caracter en especifico
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password = $HTTP_POST_VARS["password"];
// o puedes convertir los a su entidad HTML aplicable con htmlentities
$usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
$password = $HTTP_POST_VARS["password"];
$result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
if( $estado == $row['estado']){
?>
<SCRIPT LANGUAGE="javascript">
location.href = "principal.php";
</SCRIPT>
<?
}else{
echo '<span class="Estilo5">Password incorrecto o cuenta sin activar</span>';
session_destroy();}
}else{
echo '<span class="Estilo5">Usuario no existente</span>';}
}
else{
echo '<span class="Estilo5">password incorrecto</span>';}
}
mysql_close();
?>
Gracias.