Cambiar datos de usuarios ya registrados [Resuelto/Cerrado]

nathy20 - 2 jun 2008 a las 16:51 - Última respuesta:  romano
- 3 jul 2015 a las 02:38
Hola,
tengo un codigo para que el usuario una vez registrado pueda cambiar su usuario y contraseña
al ingresar a la opcion cambiar usuario aparece una pantalla donde se le solicita la clave y una vez ingresado y presionado buscar este lo lleva directamente a otra pantalla que le trae de la base de datos su informacion como usuario y contraseña, modifico los datos y presiono modificar pero solo me modifica el nombre o usuario, por favor ayudenme debo tener una tonteria pero no veo cual sera

el codigo para solicitar los datos pidiendo la clave como acceso es el siguiente:

consul.php

<?php
include("connexion.php");
<p align=\"center\"><strong><font size=5 color=\"FF0000\">Solicitar Usuario</font> </strong></p>
<table width=\"800\" height=\"100\" border=\"0\" align=\"center\">
<tr>
<td bgcolor=\"#FF0000\"width='50%'><center><strong><font color='FFFFFF'>Introduzca clave de acceso:</font></strong></td>
<td bgcolor=\"#FFFFFF\"><strong><h3><INPUT TYPE=\"text\" NAME=\"clave\" SIZE=\"20\" MAXLENGTH=\"30\">
<center><input type=\"submit\" name=\"Submit\" value=\"Busca\" /></center>
<P align=\"right\"><a href=\"index.php\"><font color=\"#FF0000\" size=\"4\">Volver</font></a> </span>
</FORM>
?>

cambio.php
<?php
<p align=\"center\"><strong><font size=5 color=\"FF0000\">Cambiar Usuario</font></strong></p>
<center><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1 width=\"500\" height=\"100\">
<TR>
<TD bgcolor=\"#FF0000\"><font color=\"#FFFFFF\"><strong> Usuario </strong></font></TD>
</TR>
<form action=\"modi.php\" method=\"post\">";
printf("<tr>
<td> <INPUT TYPE='text' NAME='usuario' SIZE='30' MAXLENGTH='30' value='%s'> </td>
<td> <INPUT TYPE='text' NAME='clave' SIZE='30' MAXLENGTH='30' value='%s'> </td>
</tr> ",$row["usuario"],$row["clave"]);
<center><input type=\"submit\" name=\"Submit\" value=\"Modificar Datos\" /></center
</form>
?>

modi.php
<?php
include("connexion.php");
$I=$_POST['clave'];
$sql="UPDATE usuarios_aplicacion SET
clave='".$_POST["clave"]."',
usuario='".$_POST["usuario"]."',
usuario='".$_POST["usuario"]."'WHERE clave='".$_POST["clave"]."'";
if(!@mysql_query($sql)){
die("error al tratar de modificar : " . mysql_error());
} else{
?>
<SCRIPT LANGUAGE="javascript">
alert("Usuario modificado!!!");
location.href = "index.php";
</SCRIPT>
<?php
?>
por favor ayudenme
Ver más 

8 respuestas

jorleonardo - 26 mar 2010 a las 17:21
+4
Vota
1
hola.. en el archivo modi.php en la linea dos del script, cambia $I=$_POST['clave']; por $clave=$_POST['clave']; para que pueda corresponder con las variables que tienes en el $sql="UPDATE........!, espero que sea ese el problema.
¿Te sirvió esta respuesta?  
esta muy bueno tu aporte espero que sigas asi saludos nos vemos bye
    
+1
Vota
Georgus - 9 abr 2010, 19:36
Pues cinedo el codigo,en esta aparte :


$sql="UPDATE usuarios_aplicacion SET
clave='".$_POST["clave"]."',
usuario='".$_POST["usuario"]."',
usuario='".$_POST["usuario"]."'WHERE clave='".$_POST["clave"]."'";

por que mandas a modificar dos veces el mismo campo con los mismos valores ("usuario='".$_POST["usuario"]") , y no compares con l aclave preferiblemente con al id o cedula algo que sapas que no se va arepetir ene la tabla eso por un lado.

por el otro si estas manejando si estas manejando php por uq eno mejor inicialisas una veriable con los valores para que asi puedas volvar autilizarlos, ejm:

$NomUsuario=$_POST['usuario'];
$ClaveUsuario=$_POST['clave'];

sql="
UPDATE
usuarios_aplicacion
SET
clave='".$_POST["clave"]."',usuario='$ClaveUsuario'
WHERE !Aqui colocala condicion del dato a comparar.

Intenta con ese cambio.
Master4 2232 Publicaciones viernes, 4 de abril de 2008Fecha de inscripción sábado, 1 de noviembre de 2008 Última intervención - 2 jun 2008 a las 17:44
0
Vota
es una pregunta me podrias explicar como se utiliza porque de verdad necesito recuperar mi nombre de usuario en sitio web
0
Vota
Pues cinedo el codigo,en esta aparte :


$sql="UPDATE usuarios_aplicacion SET
clave='".$_POST["clave"]."',
usuario='".$_POST["usuario"]."',
usuario='".$_POST["usuario"]."'WHERE clave='".$_POST["clave"]."'";

por que mandas a modificar dos veces el mismo campo con los mismos valores ("usuario='".$_POST["usuario"]") , y no compares con l aclave preferiblemente con al id o cedula algo que sapas que no se va arepetir ene la tabla eso por un lado.

por el otro si estas manejando si estas manejando php por uq eno mejor inicialisas una veriable con los valores para que asi puedas volvar autilizarlos, ejm:

$NomUsuario=$_POST['usuario'];
$ClaveUsuario=$_POST['clave'];

sql="
UPDATE
usuarios_aplicacion
SET
clave='".$_POST["clave"]."',usuario='$ClaveUsuario'
WHERE !Aqui colocala condicion del dato a comparar.

Intenta con ese cambio.
0
Vota
1
creo que el tuyo esta mejor que el aporte de jorleonardo bueno grax cuidate nos vemos bye jajaja
Una pregunta vamos a suponer que tu nombre de usuario es pedro y lo quieres modificar, teniendo en cuenta que tambien existe juan, gonzalo, alexis registrados como usuarios. Entonces al momento de modificar tu nombre de usuario tienes que hacer una consulta en la cual te prohiba ingresar un nombre de usuario ya existente como jua, gonzalo o alexis pero si te pueda registrar tu propio nombre de usuario que ya se encuentra registrado (pedro), esto es por si solo quieres modificar la clave y no el nombre? lo has tomado encuenta?