Foros del Web » Programando para Internet » PHP »

Modificar un perfil con php

Estas en el tema de Modificar un perfil con php en el foro de PHP en Foros del Web. Hola me habian mandado estos codigos para modificar un perfil con PHP pero no me funcionan.: Código PHP: /* Aquí tienes la página donde ingresas los datos */ $ID_USUARIO  =  $_COOKIE [ 'ID_DEL_USUARIO' ]; ...
  #1 (permalink)  
Antiguo 28/12/2010, 16:35
(Desactivado)
 
Fecha de Ingreso: enero-2010
Mensajes: 67
Antigüedad: 13 años
Puntos: 1
Modificar un perfil con php

Hola me habian mandado estos codigos para modificar un perfil con PHP pero no me funcionan.:

Código PHP:
/* Aquí tienes la página donde ingresas los datos */
$ID_USUARIO $_COOKIE['ID_DEL_USUARIO'];

$request mysql_query("SELECT * FROM usuarios WHERE ID_USUARIO = $ID_USUARIO");
$row mysql_fetch_assoc($request);
echo 
'<form method="POST" action="pagina2.php">
<table>
<tr>
<td>Nick</td><td><input type="text" name="nick" value="' 
$row['nick'] . '" />
</tr>
<tr>
<td>Correo</td><td><input type="text" name="correo" value="' 
$row['correo'] . " />
</tr>
<tr><td></td><td><input type="
submit" value="Guardar Datos" />
</table>' 
Código PHP:
$ID_USUARIO $_COOKIE['ID_DEL_USUARIO'];
$nick htmlentities($_POST['nick'], ENT_QUOTES"UTF-8");
$correo htmlentities($_POST['correo'], ENT_QUOTES"UTF-8");

if(empty(
$nick)) {
echo 
'Debes completar el campo nick.';
} elseif(empty(
$correo)) {
echo 
'Debes completar el campo correo.';
} else {
mysql_query("UPDATE usuarios SET nick = '$nick', correo = '$correo' WHERE ID_USUARIO = $ID_USUARIO");
echo 
'Se ha modificado tu perfil satisfactoriamente.';


E intentado todo para adaptarlo a mi sistema de usuarios y no me funcionan, mi sistema de usuarios usa Sesiones; la sesion es usersesion, los campos son usuario, id, contraseña, y correo


Alguien me puede ayudar a adaptar estos codigos a mi sistema de usuario ó a mandarme otro codigo ya adaptado

Saludos
  #2 (permalink)  
Antiguo 28/12/2010, 17:37
Avatar de bocho0610  
Fecha de Ingreso: enero-2010
Ubicación: <? echo "Santiago, Chile"; ?>
Mensajes: 341
Antigüedad: 13 años
Puntos: 26
Respuesta: Modificar un perfil con php

y en usersesion que es lo que almacenas?? de todos modos puedes ponerle esto a tu sentencia.

Código SQL:
Ver original
  1. $ssql=mysql_query("UPDATE usuarios SET nick = '$nick', correo = '$correo' WHERE ID_USUARIO = $ID_USUARIO")OR die (mysql_error());

asi podras saber el error que te origina.
__________________
Sigueme en Twitter!
Septimoarte.cl <-- Un mundo en cine.
  #3 (permalink)  
Antiguo 29/12/2010, 09:45
(Desactivado)
 
Fecha de Ingreso: enero-2010
Mensajes: 67
Antigüedad: 13 años
Puntos: 1
Respuesta: Modificar un perfil con php

pero lo que pasa es de que no se como modificar ese codigo paa adecuarlo a mi sistema de usuarios, la sesion almacena nadamas el usuario.

gracias por el codigo pero me pasa esto:

Unknown column 'pokelaios' in 'where clause'

Estos son lo codigos modificados por mi:

<?
aqui la conexion(si pongo la conexion)
/* Aquí tienes la página donde ingresas los datos */
$usuario = $_SESSION['usersesion'];

$request = mysql_query("SELECT * FROM usuarios WHERE usuario = $usuario");
$row = mysql_fetch_assoc($request);
echo '<form method="POST" action="2.php">
<table>
<tr>
<td>Nick</td><td><input type="text" name="nuevo_usuario" value="'.$row["nuevo_usuario"].'" />
</tr>
<tr>
<td>Correo</td><td><input type="text" name="nuevo_email" value="'.$row["nuevo_email"].'" />
</tr>
<tr><td></td><td><input type="submit" value="Guardar Datos" />
</table>'
?>

<?
aqui la conexion(si pongo el include)

$usuario = $_SESSION['usersesion'];
$nuevo_usuario = htmlentities($_POST['nuevo_usuario'], ENT_QUOTES, "UTF-8");
$nuevo_email = htmlentities($_POST['nuevo_email'], ENT_QUOTES, "UTF-8");

if(empty($nuevo_usuario)) {
echo 'Debes completar el campo nick.';
} elseif(empty($nuevo_email)) {
echo 'Debes completar el campo correo.';
} else {
$sql=mysql_query("UPDATE usuarios SET usuario = '$nuevo_usuario', email = '$nuevo_email' WHERE usuario = $usuario")OR die (mysql_error());
echo 'Se ha modificado tu perfil satisfactoriamente.';
}
?>

Última edición por pokelatios; 29/12/2010 a las 10:09
  #4 (permalink)  
Antiguo 29/12/2010, 18:12
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 12 años, 9 meses
Puntos: 461
Respuesta: Modificar un perfil con php

todavia no entiendo lo que no puedes adaptar, te lo pongo sencillo, si usas sessiones en vez de cookies solo tienes que indicar que
Cita:
$ID_USUARIO = $_COOKIE['ID_DEL_USUARIO'];
que es el usuario actual segun pienso yo hacerlo con session
Código PHP:
Ver original
  1. $id_usuario = $_SESSION['id_usuario'];
  2. ya ahi sabes a cual usuario vas a actualizarle el perfil que tienes que hacer tu formulario, luego al hacer el submit haces el update como te lo indico el amigo, a cual usuario lo tienes arriba, es decir para adaptar a tu codigo algo echo con cookies y tu lo tienes con sesiones sencillamente cambias la cookie por la session que deseas pasar o no se si es que entendi mal y pudieras dar una explicacion un poco mas detallada
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 29/12/2010, 18:25
(Desactivado)
 
Fecha de Ingreso: enero-2010
Mensajes: 67
Antigüedad: 13 años
Puntos: 1
Respuesta: Modificar un perfil con php

mi sesion no se llama id_usuario se llama: usersesion, eso ya lo puse arriba como tengo el codigo pero no se porque no sirve
  #6 (permalink)  
Antiguo 29/12/2010, 18:29
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 12 años, 9 meses
Puntos: 461
Respuesta: Modificar un perfil con php

pues creo que lo primero entonces seria preguntarte que tanto sabes de PHP?? ademas solo te coloque un ejemplo de lo que en mi vista tienes que hacer, creo que los demas compañeros ya te dieron algunos tips para que vieras si tienes errores en la consulta o algo por el estilo pero como te dije la pregunta de como adaptar una modificacion con cookies a session es sencillamente sustituir la cookie por la session, seria cuestion de ver cual es el error que te esta dando
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 29/12/2010, 18:42
(Desactivado)
 
Fecha de Ingreso: enero-2010
Mensajes: 67
Antigüedad: 13 años
Puntos: 1
Respuesta: Modificar un perfil con php

<?
aqui la conexion(si pongo la conexion)
/* Aquí tienes la página donde ingresas los datos */
$usuario = $_SESSION['usersesion'];

$request = mysql_query("SELECT * FROM usuarios WHERE usuario = $usuario");
$row = mysql_fetch_assoc($request);
echo '<form method="POST" action="2.php">
<table>
<tr>
<td>Nick</td><td><input type="text" name="nuevo_usuario" value="'.$row["nuevo_usuario"].'" />
</tr>
<tr>
<td>Correo</td><td><input type="text" name="nuevo_email" value="'.$row["nuevo_email"].'" />
</tr>
<tr><td></td><td><input type="submit" value="Guardar Datos" />
</table>'
?>

<?
aqui la conexion(si pongo el include)

$usuario = $_SESSION['usersesion'];
$nuevo_usuario = htmlentities($_POST['nuevo_usuario'], ENT_QUOTES, "UTF-8");
$nuevo_email = htmlentities($_POST['nuevo_email'], ENT_QUOTES, "UTF-8");

if(empty($nuevo_usuario)) {
echo 'Debes completar el campo nick.';
} elseif(empty($nuevo_email)) {
echo 'Debes completar el campo correo.';
} else {
$sql=mysql_query("UPDATE usuarios SET usuario = '$nuevo_usuario', email = '$nuevo_email' WHERE usuario = $usuario")OR die (mysql_error());
echo 'Se ha modificado tu perfil satisfactoriamente.';
}
?>

esos son mis codigos ya modificados por mi, se lo suficiente de php para crear un sistema de usuarios y otros sistemas pero no se como hacer para que se pueda modificar un perfil
  #8 (permalink)  
Antiguo 29/12/2010, 18:57
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 12 años, 9 meses
Puntos: 461
Respuesta: Modificar un perfil con php

voy a ayudarte un poco:
el compañero
Cita:
Iniciado por bocho0610 Ver Mensaje
Código SQL:
Ver original
  1. $ssql=mysql_query("UPDATE usuarios SET nick = '$nick', correo = '$correo' WHERE ID_USUARIO = $ID_USUARIO") OR die (mysql_error());

asi podras saber el error que te origina.
te indico que depuraras tu codigo para ver que error te origina, aca
Cita:
Iniciado por pokelatios Ver Mensaje
<?
$request = mysql_query("SELECT * FROM usuarios WHERE usuario = $usuario");
seguro te daria un error, en mysql los valores string van entre comillas simples " ' ", por lo que tu consulta deberia ser asi
Código PHP:
$request mysql_query("SELECT * FROM usuarios WHERE usuario = '$usuario'") or die mysql_error(); 
si hay un error sencillamente te lo indicara el script,

el short_tag "<?" no es recomendable ya que en muchos servidores esta deshabilitado seria bueno que lo colocaras completo "<?php" y asi te evitas posibles fallas, aca lo mismo que te indique antes con los string quedaria asi
Código PHP:
$sql=mysql_query("UPDATE usuarios SET usuario = '$nuevo_usuario', email = '$nuevo_email' WHERE usuario = '$usuario'") or die (mysql_error()); 
espero que te sirvan mis comentarios, otra cosa seria bueno que tu html lo generaras normalmente e incluyas el php solo en donde corresponda saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #9 (permalink)  
Antiguo 29/12/2010, 19:07
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Modificar un perfil con php

Amigo, no uses cookies es un grave problema de seguridad, usa session
  #10 (permalink)  
Antiguo 29/12/2010, 19:20
(Desactivado)
 
Fecha de Ingreso: enero-2010
Mensajes: 67
Antigüedad: 13 años
Puntos: 1
Gracias Carlos pero puse el primer codigo en la primera pagina donde debe salir el fomulario y se queda en blanco

Creo que en el de la segunda no se queda en blanco pero en el de la primera si

Última edición por GatorV; 29/12/2010 a las 23:02

Etiquetas: modificar, perfil
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:06.