Ayuda con script

Topic created · 3 Mensajes · 421 Visitas
  • hola UJ espero esten super bien.

    tengo un problema con el scrip para loguearme en la web y quisiera saber si alguien por aqui me puede ayudar.

    para crear la cuenta en el server tengo este script:

    $submit = $_POST['submit'];
    
    $usuario			= strip_tags($_POST['username']);
    $password			= strip_tags($_POST['password']);
    $confirmarpassword	= strip_tags($_POST['repeatpassword']);
    $nombrecompleto	= strip_tags($_POST['fullname']);
    $email			= strip_tags($_POST['email']);
    $fecharegistro		= date("y-m-d");
    
    if ($submit)
    {
    //verificar si el usuario existe en la base de datos
    include('config.php');
    mysql_select_db('account') or die("**Tipo de error: **".mysql_error());
    
    $usuariocheck = mysql_query("SELECT login FROM account WHERE login='$usuario'");
    $count = mysql_num_rows($usuariocheck);
    
    if ($count!=0)
    {
    	die ("**El nombre de usuario ya existe!**");
    }
    
    //verificar que se ingresaron todos los datos del formulario de registro
    if ($usuario && $password && $confirmarpassword && $nombrecompleto && $email)
    {
    //verificar que los password ingresados sean iguales
    if ($password==$confirmarpassword)
    {
    //verificar longitud de caracteres del usuario y nombre completo
    if (strlen($usuario)>16||strlen($nombrecompleto)>16)
    {
    	echo "**El usuario o nombre completo es demasiado largo!**";
    }
    else
    {
    //verificar longitud del password
    if (strlen ($password)>25||strlen($password)
    

    y para loguear en la web este script:

    session_start();
    
    $username = $_POST['username'];
    $password = $_POST['password'];
    
    if ($username&&$password)
    {
    include('config.php');
    mysql_select_db("account") or die("**Tipo de error: **".mysql_error());
    
    $query = mysql_query("SELECT * FROM account WHERE login='$username'");
    
    $numrows = mysql_num_rows($query);
    
    if ($numrows!=0)
    {
    while ($row = mysql_fetch_assoc($query))
    {
    	$dbusername = $row['login'];
    	$dbpassword = $row['password'];
    	
    }
    if ($username==$dbusername&&$password==$dbpassword)
    {
    	echo('');
    	$_SESSION['username']=$dbusername;
    	
    }
    else
    	echo('');
    
    }
    else
    	echo('');
    
    }
    else
    	echo('');
    

    Mi problema es que cuando logueo en la pagina no me reconoce el password. en loguin pongo : 123456, pero en la base de datos esa pass esta guadada como *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9.

    espero se entienda y que alguien me pueda ayudar y de paso quedan los script a dispocicion de los amigos de UJ.

  • Hola, mira, te comento, en el login tienes un fallo de los gordos, fijate bien la contraseña como lo comparas, tu mismo lo has dicho->

    Contraseña enviada a la mysql -> 123456
    Contraseña que recibes de la mysql -> *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9

    if ($username==$dbusername&&$password==$dbpassword){}

    Como ves, no son las mismas, y tu lo que estas haciendo es comparar si son iguales las 2. Siempre te va a dar el error "/errores/error3.php"

    Te voy a dejar un login aqui, echo por mi, eso si, adaptalo al tuyo.

    session_start();
    if ($_POST['submit'])
    {
    if($_POST['username'] && $_POST['password'])
    {
    $dbname = "account";
    mysql_connect($dbhost, $dbuser, $dbpw) or die('No se ha podido conectar a MySQL');
    mysql_select_db($dbname) or die('No se ha podido seleccionar la Base de Datos');
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);
    $check = 'SELECT * FROM account WHERE login = "'.$username.'" AND password = PASSWORD("'.$password.'")';
    $query = mysql_query($check);
    $num = mysql_num_rows($query);
    if($num > 0)
    {
    $row = mysql_fetch_object($query);
    $_SESSION['id'] = $row->login;
    echo 'error';
    }
    else
    echo 'error';
    }
    else
    echo 'error';
    }

    ?>

  • gracias bro voy a probar complementar mi script con el tuyo. el error si es gordo y estaba conciente de ello, pero no encontraba forma de encriptar el password incresado en formulario de login.

    mirando tu script me doy cuenta que estube muy serca de solucionarlo.

    muchas gracias bro.