hola gente lnda de forosdelweb!!
en esta ocasion estuve investigando mucho, no soy experto en php, pero me se defender un poco, paso a comentarles el problema...
Resulta tengo una base de datos de usuarios, y cuando un usuario ingresa y quiere cambiar su nombre de usuario, me permite que tenga el mismo nombre q otro usuario, de todas maneras igual no puede entrar al contenido del otro, por q tiene diferente ID, pero como puedo arreglar esto? osea q cuando uno cambie su nombre de usuario no sea igual a otro en la base de datos..
alguno de los articulos q he visto es por ejemplo este:
¿Cómo evitar guardar registros duplicados en mi BD?
http://www.forosdelweb.com/1204551-post154.html
pero me sive y perfectamente para registrar nuevos usuarios.
probe modificando el codigo, les muestro a continuacion el php (el action al cual va el formulario de cambio de nombre de usuario y contraseña)
Código PHP:
Ver original<?php
//me conecto a la base de datos obviamente. :D
//coloco en nombre de usuario de la session iniciada
$n_usuario_activo = $_SESSION["username_usuario"];
// Recibo el dato del formulario
$n_usuario= $_POST['username'];
// Hago la consulta a la BD por el usuario
$ssql= mysql_query("SELECT username FROM usuarios WHERE username='$n_usuario'");
//lo listo
//el nombre del usuario encontrado lo coloco en una variable
$usernameBD = $usuario_encontrado["username"];
//me fijo si hubo coincidencias
// redirigo a:
header ("location: ../../error.1");
//me fijo si coincide con el de session
}elseif($usernameBD == $n_usuario_activo){
//si es q existe entonces actualizo la contraseña
$ssql = "UPDATE usuarios set ";
$ssql .= "password='" . md5($_POST["password"]) . "'"; $ssql .= "where id=" . $_POST["id"];
header ("location: ../../administ/perfil/succefull");
}else{
header ("location: ../../administ/perfil/error"); }
//sino actualizo los dos datos usuario y contraseña
}else{
$ssql = "UPDATE usuarios set ";
$ssql .= "username='" . $_POST["username"] . "', ";
$ssql .= "password='" . md5($_POST["password"]) . "'"; $ssql .= "where id=" . $_POST["id"];
header ("location: ../../administ/perfil/succefull");
}else{
header ("location: ../../administ/perfil/error"); }
}
?>
en el ejemplo anterior probe con los datos guardado en la session, tal vez no es lo correcto, pero me da error, osea el error es q no pasa del primer if.. (error.1) osea como q no puedo actualizar el nombre de usuario por q es el mismo.
si me pueden ayudar con esto, desde ya gracias, espero sus respuesta de conocimiento.