yocmen Nuevo Webmaster

Mensajes: 1 Desde: 14/Mar/2007 | Por favor ayuda con PHP Buenas.... tengo el siguiente problema tengo en mi BD una tabla llamada accounts con los campos login y password que usa la encriptacion base64, ok quiero hacer un formulario para poder cambiar la clave (esto lo logre) lo que no puedo hacer es validar para que vea si es el usurio y la contraseña actual guarde la nuevo y te diga q se hizo con exito y si no te diga si el usurio no se encuentra en la bd o si la contraseña es incorrecta esto es lo q tengo por favor ayudenme que esto no me valida bien.
<?php $name= $_POST['Usuario']; $newpass=$_POST[newpass]; function hexToBase64($str) { $raw = ''; for ($i=o; $i < strlen($str); $i+=2) { $raw .= chr(hexdec(substr($str, $i, 2))); } return base64_encode($raw); } $str = hexToBase64(hash('sha1', $_POST[Contraseña]));
function hexToBase641($str1) { $raw = ''; for ($i=o; $i < strlen($str1); $i+=2) { $raw .= chr(hexdec(substr($str1, $i, 2))); } return base64_encode($raw); } $str1 = hexToBase641(hash('sha1', $_POST[newpass])); mysql_connect("localhost", "admin", "123456789"); mysql_select_db("taller");
$busqueda= mysql_query("SELECT password FROM accounts WHERE login='$str'"); if(mysql_num_rows ($busqueda)==0) { mysql_query("UPDATE accounts SET password = '$str1' WHERE login = '$name' AND password = '$str'"); echo "Contraseña Actualizada.<br><br>"; } else { echo "La contraseña actual no es la correcta por favor intenta de nuevo.<br>"; echo "<a href=\"javascript:history.back()\">Regresar</a>"; } ?>
por favor ayuda!!! desde ya gracias
|
14/Mar/2007 05:39 GMT+1 | |
EffectedCard Administrador


Usuario PRO Mensajes: 9.272 Desde: 16/Oct/2004 | RE: Por favor ayuda con PHPFaltaria otro campo que te pidiera la contaseña actual. Por tanto en vez de: $name= $_POST['Usuario']; $newpass=$_POST[newpass]; Tendriamos: $name= $_POST['Usuario']; $newpass=$_POST[newpass]; $oldpass=$_POST[oldpass];
Despues, habria que codificar ese oldpass. Donde pone: $str1 = hexToBase641(hash('sha1', $_POST[newpass])); Añadimos despues: $pass = hexToBase641(hash('sha1', $_POST[oldpass]));
Por ultimo, cambio la forma de hacerlo pero sera igualmente valida, cambia: Codigo
Por: Codigo
Creo que deberia bastar. Pruebalo y me cuentas. |
16/Mar/2007 20:19 GMT+1 | |