Fridureiks, con el code que me sugieres me pasa lo mismo..., no deja modificar los datos al propio usuario que intenta modificarlos, a no ser que cambie usuario y correo a la vez, si por ejemplo solo quiere modificar el teléfono, o el nombre o el usuario, le dice que ya está siendo usado por otro usuario.
¿Alguien sabe como podría modificar el siguiente codigo para poder hacerlo?
pego de nuevo el code
Código PHP:
if(ereg("^([a-zA-Z0-9_\.-]+)\@([a-zA-Z0-9\.-]+)\.([a-zA-Z]{2,4})$",$correo)){
if(strlen($usuario)>=6){
if(ereg("^[a-zA-Z0-9_\.-]+$", $usuario)){
if(strlen($contrasena)>=6){
if(ereg("^[a-zA-Z0-9_\.-]+$", $contrasena)){
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' AND ID<>'$ID'", $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' AND ID<>'$ID'", $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();
Con que me den la idea me vale, gracias.
Un saludo.