Ver Mensaje Individual
  #5 (permalink)  
Antiguo 31/10/2012, 13:49
rolygc
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 16 años
Puntos: 38
Respuesta: Formulario login

OK para empezar debes tener este codigo html en la paguna ke kieres ke el user se loguee


Código HTML:
<form method="post" action="nombre_de_tu_script.php">
   
   <input type="hidden" value="1" name="loginFormH" />   
    
   <label for="user">Usuario: </label>
   <input type="text" name="user" id="user" />

   <label for="passwd">Contraseña: </label>   
   <input type="password" name="passwd" id="passwd" />
   
   <input type="submit" value="Enviar" />

</form> 
ahi tienes para emepzar con el codigo html

luego crea una pagina con el nombre ke pusistes en el action del formulario (nombre_de_tu_script.php)

y ahi recogeras tus datos enviados por el formulario

Código PHP:
// defirnir una clave para la encriptacion del password
define('HASH_KEY''12345');

// Con esto creas una function para filtrar los datos que envia el usuario y asi kitarnte problebas de arriba
function getFilterPostText($text)
    {
        if(isset(
$_POST[$text]) && !empty($_POST[$text]))
        {
            
$_POST[$text] = filter_input(INPUT_POST$textFILTER_SANITIZE_STRING);
            return 
$_POST[$text];
        }
        return 
false;
}

// Filtrar los datos antes de enviarlo a chequearlo a la base de datos
function getFilterSQL($value)
 {
        if(!empty(
$value))
        {
            
$value strip_tags($value);
            
            if(!
get_magic_quotes_gpc()){
                
$value mysql_escape_string($value);
            }
            
            return 
trim($value);
        }
        
        return 
false;
}

// funcion para verificar y validar los datos
function getLoginUser($userN$passW)
    {
        
// COnectate con tus datos a la base de datos y depsues ejecuta las consultas
        
$query mysql_query("SELECT * FROM db_tabla WHERE username = '$userN' 
                                    AND passwd = '" 
getHash('sha1'$passWHASH_KEY) . "'");
        
$result mysql_fetch_assoc($query);
        return 
$retult;  
    } 

// funciton para verificar numeros enteros
function getFilterPostInt($value)
    {
        if(isset(
$_POST[$value]) && !empty($_POST[$value]))
        {
            
$_POST[$value] = filter_input(INPUT_POST$valueFILTER_VALIDATE_INT);
            return 
$_POST[$value];
        }
        return 
0;
    }

// function para encriptar las contrasena y asi tenerla en formato seguro
function getHash($alg$data$key)
    {
        
$hash hash_init($algHASH_HMAC$key);
        
hash_update($hash$data);
        return 
hash_final($hash);
}

// para obtener una contrasena codificadda ejucuta esto
// getHash('sha1', 'contrasenna', HASH_KEY);
//tu contrasenna en este case es la palabra 'contrasenna'
// el codigo encriptado ke te devolvio lo guardas en la base de datos en el campo contrasenna.


if(getFilterPostInt('loginFormH') == 1){
$user getFilterPostText('user');
$pass getFilterSQL('passwd');

$uData getLoginUser(
                    
getFilterSQL($_POST['userN']),
                    
$_POST['passW')
            );

if(
$uData){
 echo 
'logueado satisfactoriamente';
}
else{
 echo 
'acceso denegado';
}

escribi muchas cosas aki a lo mejor tiene errores ya ke no lo he chequeado en el IDE para corregir errores, pero por arriba esto es lo ke necesitas.
espero te ayude.