Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2007, 21:47
Zertiko
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Actualizar registro salvando el usuario y correo propios...

Hola tengo un code para actualizar los datos de un registro que actualiza bien..., pero me equivoque en algo grave..., cuando realizas el UPDATE comprueba que el usuario y la contraseña sean unicos en toda la bd.., tal como tengo la estructura de mi tabla, el problema es que si el propio usuario solo quiere modificar el usuario o el correo tampoco le deja..., como podría solucionarlo????

pego el code

Código PHP:
if($repita_contrasena==$contrasena){
// una vez validado el formulario comprobamos que no haya ningun registro con el mismo nombre de usuario
$resultado=mysql_query("SELECT * FROM $tabla WHERE usuario='$usuario'"$conexion) or die ("Error en la consulta, MySQL dice: ".mysql_error());
if(
$vacio=mysql_num_rows($resultado)==0){
mysql_free_result($resultado);
// una vez validado el formulario comprobamos que no haya ningun registro con el mismo correo
$resultado=mysql_query("SELECT * FROM $tabla WHERE correo='$correo'"$conexion) or die ("Error en la consulta, MySQL dice: ".mysql_error());
if(
$vacio=mysql_num_rows($resultado)==0){
mysql_free_result($resultado);
// una vez validado el formulario actualizamos el registro de usuario
$sql="UPDATE $tabla SET nombre='$nombre', apellidos='$apellidos', domicilio='$domicilio', cp='$cp', localidad='$localidad', provincia='$provincia', centro='$centro', telefono='$telefono', correo='$correo', usuario='$usuario', contrasena='$contrasena' WHERE usuario='$usuario_actual' && contrasena='$contrasena_actual'";
mysql_query($sql$conexion) or die("error en la consulta $sql ".mysql_error());
// una vez actualizado el registro de usuario actualizamos los registros de la tabla comunicaciones que comparte campos con la tabla de usuarios
$autor_nuevo=$nombre." ".$apellidos;
$sql="UPDATE $tabla1 SET usuario='$usuario', autor='$autor_nuevo', centro='$centro', correo='$correo' WHERE usuario='$usuario_actual' && correo='$correo_actual'";
mysql_query($sql$conexion) or die("error en la consulta $sql ".mysql_error());
// una vez actualizaos las 2 tablas y creamos las sesiones de usuario nuevas
$sql="SELECT * FROM $tabla WHERE usuario='$usuario' AND contrasena='$contrasena'";
$resultado=mysql_query($sql$conexion) or die ("Error en la consulta, MySQL dice: ".mysql_error());
if(
$encontrados=mysql_fetch_array($resultado)){
session_start();
$_SESSION["autenticado"]="acceso";
$_SESSION["usuario"]="{$encontrados['usuario']}";
$_SESSION["contrasena"]="{$encontrados['contrasena']}";
$_SESSION["domicilio"]="{$encontrados['domicilio']}";
$_SESSION["cp"]="{$encontrados['cp']}";
$_SESSION["localidad"]="{$encontrados['localidad']}";
$_SESSION["provincia"]="{$encontrados['provincia']}";
$_SESSION["centro"]="{$encontrados['centro']}";
$_SESSION["telefono"]="{$encontrados['telefono']}";
$_SESSION["correo"]="{$encontrados['correo']}";
$_SESSION["nombre"]="{$encontrados['nombre']}";
$_SESSION["apellidos"]="{$encontrados['apellidos']}";
}
// una vez actualizados los registros redireccionamos al formulario editar el registro
header("Location:modificar_registro.php?mensajegeneral=1"); 
Gracias, un saludo.