Estoy realizando una Intranet para una empresa, y tengo un problema a la hora de modificar los datos de cada usuario mediante un formulario.
Quiero decir, he creado un perfil.php en el que segun que usuario sea el que accede le muestre sus datos en un formulario (con los campos ya rellenos por sus datos) y funciona correctamente.
Ahora mi problema es que me gustaria que pudieran modificar los datos ( se han quedado antiguos o hay algun error por ejemplo) en ese formulario directamente.
Creo que he medio conseguido algo, pero algo falla, porque una vez hecho el cambio, al darle al submit, me vuelven a salir los datos antiguos y se vuelvo a hacer click en el submit me sale los nuevos.
Os dejo ese trozo del codigo:
Código PHP:
<div id="perfil">
<?php
mysql_connect('localhost','root','')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('usuarios')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
$busqueda = mysql_query("SELECT usuarios.usuario, usuarios.telefono, usuarios.nombre,
usuarios.movil, usuarios.apellido, usuarios.direccion, roles.grupo, usuarios.email
FROM usuarios INNER JOIN roles ON usuarios.rol_id=roles.id
WHERE usuarios.usuario= '".$_SESSION['k_username']."'")
or die ('Error al seleccionar la Base de Datos: '.mysql_error());
$fila = mysql_fetch_array($busqueda, MYSQL_NUM);
?>
<form class="generic" method="post" action="perfil.php">
<table>
<tr><td><label>Usuario:</label></td>
<td><input type="text" name="usuario" size="30" maxlength="30" value="<?php echo $fila[0] ;?>"/></td>
<td><label>Teléfono:</label></td>
<td><input type="text" name="telefono" size="9" maxlength="9" value="<?php echo $fila[1]; ?>"/></td></tr>
<tr><td><label>Nombre:</label></td>
<td><input type="text" name="nombre" size="30" maxlength="30" value="<?php echo $fila[2]; ?>"/></td>
<td><label>Móvil:</label></td>
<td><input type="text" name="movil" size="9" maxlength="9" value="<?php echo $fila[3]; ?>"/></td></tr>
<tr><td><label>Apellido:</label></td>
<td><input type="text" name="apellido" size="30" maxlength="30" value="<?php echo $fila[4]; ?>"/></td>
<td rowspan="3"><label>Dirección:</label></td>
<td rowspan="3"><textarea name="direccion" rows="5" cols="30"><?php echo $fila[5]; ?></textarea></td></tr>
<tr><td><label>Grupo:</label></td>
<td><input type="text" name="grupo" size="30" maxlength="30" value="<?php echo $fila[6];?>"/></td></tr>
<tr><td><label>Email:</label></td>
<td><input type="text" name="email" size="30" maxlength="30" value="<?php echo $fila[7];?>"/></td></tr>
<tr><td colspan="4"><br/><input type="submit" value='Modificar' /></tr>
</table>
</form>
<?php
if (isset($_POST['usuario'])) {
$usuario = $_POST['usuario'];
$telefono = $_POST['telefono'];
$nombre = $_POST['nombre'];
$movil = $_POST['movil'];
$apellido = $_POST['apellido'];
$direccion = $_POST['direccion'];
$email = $_POST['email'];
mysql_select_db('usuarios')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
$query = mysql_query("UPDATE usuarios SET usuario='$usuario', usuarios.telefono='$telefono',
usuarios.nombre='$nombre', usuarios.movil='$movil', usuarios.apellido='$apellido',
usuarios.direccion='$direccion', usuarios.email='$email' WHERE usuarios.usuario='$usuario'");
}?>
</div>