Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/10/2011, 09:44
ILuzbel
 
Fecha de Ingreso: septiembre-2011
Mensajes: 106
Antigüedad: 12 años, 7 meses
Puntos: 19
Como editar la informacion de un usuario

Hola a todos con un amigo hice un perfil para cada usuario ahora no sabemos como hacer que cada usuario pueda editar sus datos de perfil.

Por ahora hice una sección llamada cuenta que tiene 2 formularios uno para el nombre y uno para el url del avatar, dentro de los formularios me muestra el nombre del primer usuario y el primer url del avatar, al cambiarlos me cambia a todos los usuarios el nombre y el avatar.

Alguien podría ayudarme a arreglarlo?

Este es el formulario:

Código PHP:
Ver original
  1. <?php
  2. include ('./public/php/edit_cuenta.php');
  3.  
  4. ?>
  5.     <h2>Editar Cuenta</h2>
  6.         <form action="cuenta.php" method="post">
  7.             <p>
  8.                 <label for="usuario">Aqui el nombre de usuario</label><br />
  9.                 <input name="usuario" type="text" value="<?php echo $editcuenta['usuario']; ?>" />
  10.             </p>
  11.             <br/>
  12.             <p>
  13.                 <label for="avatar">Aqui el url de tu avatar</label><br />
  14.                 <input name="avatar" type="text" value="<?php echo $editcuenta['avatar']; ?>" />
  15.             </p>
  16.             <br/>
  17.             <p>
  18.                 <input name="submit" type="submit" value="Guardar Cambios" />
  19.             </p>
  20.         </form>

y este es el codigo php:

Código PHP:
Ver original
  1. <?php
  2.  
  3. // archivos necesarios
  4. require_once 'admin/config.php';
  5. require_once 'admin/conexion.php';
  6. require_once 'admin/esUsuario.php';
  7.  
  8. // obtengo puntero de conexion con la db
  9. $dbConn = conectar();
  10.  
  11. // verificamos que no este conectado el usuario
  12. if ( !empty( $_SESSION['usuario'] ) && !empty($_SESSION['password']) ) {
  13.     $arrUsuario = esUsuario( $_SESSION['usuario'], $_SESSION['password'], $dbConn );
  14. }
  15.  
  16. // si se envio el formulario
  17. if ( !empty($_POST['submit']) ) {
  18.    
  19.     // definimos las variables
  20.                     if ( !empty($_POST['usuario']) ) $usuario = $_POST['usuario'];
  21.                     if ( !empty($_POST['avatar']) ) $avatar = $_POST['avatar'];
  22.    
  23.     // si no hay errores registramos al usuario
  24.     if ( empty($error) ) {
  25.        
  26.     if ( empty($usuario) )  $error['usuario']       = 'Es obligatorio completar el nombre de tu usuario';
  27.        
  28. // traemos la configuracion
  29. $query = 'SELECT usuario,avatar FROM `usuarios` WHERE usuario = "' . $_POST['usuario'] . '" LIMIT 1';
  30. $resultado = mysql_query ($query, $dbConn);
  31.  
  32. if(mysql_num_rows($resultado) > 0){
  33.  
  34. // actualiza los datos del formulario en la db
  35. $query = "UPDATE usuarios SET usuario='".$_POST["usuario"]."', avatar='".$_POST["avatar"]."' ";
  36. $result = mysql_query($query, $dbConn);
  37.        
  38.     header( 'Location: cuenta.php?edit=true' );
  39.     die;
  40. }else{
  41. //inserto los datos del formulario en el db
  42. $query  = "INSERT INTO `usuarios` (usuario,avatar) VALUES ('$usuario','$avatar') ";
  43. $result = mysql_query($query, $dbConn);
  44.  
  45.     header( 'Location: cuenta.php?add=true' );
  46.     die;
  47. }
  48.        
  49.     }
  50. }
  51.  
  52. // traemos listado
  53. $query = 'SELECT usuario,avatar FROM `usuarios` LIMIT 1';
  54. $resultado = mysql_query ($query, $dbConn);
  55. $editcuenta = mysql_fetch_assoc ($resultado);
  56.  
  57. ?>

Gracias de antemano

Lo logre, tuve que añadir al select, update y insert un " WHERE $_SESSION=['$usuario'] y funciono, solo que al cambiar de nombre tengo que volver a loguearme

Última edición por ILuzbel; 16/10/2011 a las 10:40 Razón: Solucionado