Ver Mensaje Individual
  #9 (permalink)  
Antiguo 26/05/2013, 15:39
juanmandi
 
Fecha de Ingreso: septiembre-2004
Ubicación: Maracay Edo. Aragua
Mensajes: 45
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: Autenticacion de usuarios

Hice lo que me indicastes en el archivo:

users_Register.php

Código PHP:
<?php 
session_start
();
include(
"db.php"); 
?>
<link rel="stylesheet" href="css/d13.css">
<H1>Crear una nueva cuenta</H1><br>
<?php 
if(isset($_POST['submit'])){ 
    
$query sprintf("SELECT * FROM usuarios WHERE usuario='%s' LIMIT 1",mysql_real_escape_string($_POST['usuario']));
    
$sql mysql_query($query); 
    
$row mysql_fetch_array($sql); 
    if(
$row||empty($_POST['usuario'])|| empty($_POST['fname'])||empty($_POST['lname'])|| empty($_POST['email'])||empty($_POST['password'])|| empty($_POST['re_password'])||$_POST['password']!=$_POST['re_password']){ 
        
# si se deja un campo vacío va a tirar un error.
        
$error '<p>'
        if(empty(
$_POST['usuario'])){ 
            
$error .= 'El campo "Nombre de Usuario" se ha dejado vacío.<br>'
        } 
        if(empty(
$_POST['fname'])){ 
            
$error .= 'El campo "Nombre" se ha dejado vacío.<br>'
        } 
        if(empty(
$_POST['lname'])){ 
            
$error .= 'El campo "Apellido" se ha dejado vacío.<br>'
        } 
        if(empty(
$_POST['email'])){ 
            
$error .= 'El campo "Email" se ha dejado vacío.<br>'
        } 
        if(empty(
$_POST['password'])){ 
            
$error .= 'El campo "Contraseña" se ha dejado vacío.<br>'
        } 
        if(empty(
$_POST['re_password'])){ 
            
$error .= 'Debes repetir la contraseña<br>'
        } 
        if(
$_POST['password']!=$_POST['re_password']){ 
            
$error .= 'Las contraseñas no concuerdan.<br>'
        } 
        if(
$row){ 
            
$error .= 'El nombre de usuario que has escojido ya existe en la Base de Datos.<br>'
        } 
        
$error .= '</p>'
    }else{ 
$query sprintf("INSERT INTO usuarios(`usuario`,`fname`,`lname`,`email`,`password`)
            VALUES('%s','%s','%s','%s',PASSWORD('%s'))"

            
mysql_real_escape_string($_POST['usuario']), 
            
mysql_real_escape_string($_POST['fname']), 
            
mysql_real_escape_string($_POST['lname']), 
            
mysql_real_escape_string($_POST['email']), 
            
hash('sha256'mysql_real_escape_string($_POST['password'])))or die(mysql_error());
        
$sql mysql_query($query);
        
# Redireccion a la página de logueo despues del registro.
        
header("Location: users_Login.php"); 
        exit; 
    } 

if(isset(
$error)){ 
    echo 
$error
    unset(
$error); 

?>

y en el verify

Código PHP:
<?php 
include("db.php");
if(isset(
$_POST['submit'])){ 
    
$usr mysql_real_escape_string($_POST['usuario']); 
    
$pas hash('sha256'mysql_real_escape_string($_POST['password']));  
    
$sql mysql_query("SELECT * FROM usuarios  
        WHERE usuario='$usr' AND 
        password='$pas' 
        LIMIT 1"
); 
    if(
mysql_num_rows($sql) == 1){ 
        
$row mysql_fetch_array($sql); 
        
session_start(); 
        
$_SESSION['usuario'] = $row['usuario']; 
        
$_SESSION['fname'] = $row['fname']; 
        
$_SESSION['lname'] = $row['lname']; 
        
$_SESSION['logged'] = TRUE
        
header("Location: prueba.php"); // Puedes modificar la pagina a la cual te guste que valla despues del inicio de sesión
        
exit; 
    }else{ 
        
header("Location: incorrecto.php"); 
        exit; 
    } 
}else{ 
    
header("Location: index.php");     
    exit; 

?>

Pero aun sigue sin funcionar de echo la cadena que me coloca en la tabla es:
Tambien alargue los campos a 1000 para evitar que se corte cualquier cadena.


*445EFF55A75BF78FA56F407B5315B8269F311D85

y la clave que debería colocar en la tabla haciendo la conversión debería ser:

8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a8 1f6f2ab448a918