Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/02/2010, 10:43
Avatar de andmai
andmai
 
Fecha de Ingreso: enero-2010
Mensajes: 84
Antigüedad: 14 años, 3 meses
Puntos: 1
modificar contraseña de un usuario

¡Hola! que tal?
tengo un problemilla que por mas vueltas que le doy, no consigo saber pork m ocurre esto. Me explico:
estoy haciendo una página en la que el usuario se registra introduciendo su nombre, email y contraseña. Una vez registrado y que esté dentro, existe la posibilidad de que modifique sus datos, pero solo me deja modificar el nombre, es decir, si se modifica el email o la contraseña sin modificar el nombre, dice que el usuario ya existe. Debe de ser alguna tonteria que se me escapa pero no consigo dar con ella. Dejo el código por si alguien me puede ayudar. Muchisimas gracias


modificarPerfil.php




<? session_start(); // incio de uso de sesiones. Necesario cada vez que se lean o guarden variables de sesión. ?>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
Modificar Perfil
</title>
</head>
<link rel="stylesheet" type="text/css" href="estilos.css"/>
<body>
<p class="tituloInicio">Modificar Perfil</p>
<?

$nombre= $_SESSION['nombre'];//Nombre antiguo del usuario

//se conecta con la BD
$link = mysql_connect('localhost', 'root');
if (!$link)
{echo " no se puede conectar";}

mysql_select_db("DatosConfiguraciones",$link);

$consulta= "SELECT idPerfil FROM perfil WHERE nombre= '$nombre' ";
$rdo=mysql_query($consulta,$link);
$row= mysql_fetch_row($rdo);//pasar el resultado a la variable
$_SESSION['idAntiguo']="$row[0]";


$consulta3= "SELECT clave FROM perfil WHERE nombre= '$nombre' ";
$rdo3=mysql_query($consulta3,$link);
$row3= mysql_fetch_row($rdo3);//pasar el resultado a la variable
$clave= "$row3[0]";


$consulta2= "SELECT email FROM perfil WHERE nombre= '$nombre' ";
$rdo2=mysql_query($consulta2,$link);
$linea= mysql_fetch_row($rdo2);//pasar el resultado a la variable
$email="$linea[0]";


?>

<form method="post" >
<p class="titulo1">modifica tus datos:</p>
<p class="textoAuxi">nombre:</p>
<input type="text" name="nombre" size="20" class="posicionCaja" value="<? echo "$nombre"; ?>" >
<br>
<br>
<p class="textoAuxi">contraseña:</p>
<input type="password" name="contraseña" size="20" class="posicionCaja" value="<? echo "$clave"; ?>">
<br>
<br>
<p class="textoAuxi">email:</p>
<input type="text" name="email" size="40" class="posicionCaja" value=" <? echo "$email"; ?>">
<br>
<input type="submit" name="boton1" class="botonP" value="Aceptar" onclick=this.form.action='modificarDatos.php'>
<input type="reset" name="boton2" class="botonP" value= "Borrar">
<input class="botonP" type="submit" value="Atras" onclick=this.form.action='perfilPersonal.php'>
</form>
</body>
</html>






modificarDatos.php

<? session_start(); // incio de uso de sesiones. ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Perfil Creado</title>
</head>
<link rel="stylesheet" type="text/css" href="estilos.css"/>
<body>

<?
//se conecta con la BD
$link = mysql_connect('localhost', 'root');
if (!$link)
{echo " no se puede conectar";}
mysql_select_db("DatosConfiguraciones",$link);

$viejo=$_SESSION['idAntiguo']; // asignamos a $viejo la variable de la session áctiva.

$nombreNew=$_POST["nombre"];
$passNew=$_POST["contraseña"];
$emailNew=$_POST["email"];

$consulta= "SELECT * FROM perfil WHERE nombre='$nombreNew'";
$rdo2=mysql_query($consulta,$link);

if(mysql_num_rows($rdo2)>0){
echo "<p class=textoAuxi>Este perfil ya existe</p>";
echo"<form method=post>";
echo"<input class=botonSeleccion type=submit value=Volver onClick=this.form.action='modificarPerfil.php'>";
echo " </form>";
}
else {
$sql="UPDATE perfil SET nombre='$nombreNew' , clave='$passNew' , email= '$emailNew' WHERE idPerfil='$viejo'";
$rdo= mysql_query ($sql,$link);
echo "<p class=textoAuxi>La modificación se ha realizado con éxito</p>";
echo"<form method=post>";
echo"<input class=botonSeleccion type=submit value=Atras onClick=this.form.action='perfil.php'>";
echo " </form>";
}
?>
</body>
</html>