Foros del Web » Programando para Internet » PHP »

Problemita para crear sistema de perfiles

Estas en el tema de Problemita para crear sistema de perfiles en el foro de PHP en Foros del Web. Bueno antes que nada buenas a todos! Soy nuevo en este foro, este es mi primer tema.. y bueno recurro aqui ya que he visto ...
  #1 (permalink)  
Antiguo 02/05/2012, 18:17
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 13
Antigüedad: 8 años, 1 mes
Puntos: 0
Pregunta Problemita para crear sistema de perfiles

Bueno antes que nada buenas a todos!

Soy nuevo en este foro, este es mi primer tema.. y bueno recurro aqui ya que he visto que solucionan muchisimos problemas de muchisimas personas y yo ando necesitando ayuda.

Mi problema es el siguiente quiero crear un sistema de usuarios, ya tengo el perfil.php, login.php,registro.php TODO .. mi problema esta en el PERFIL.PHP ya que al iniciar sesion entro al perfil y me muestra mis datos! esta bien eso me gusta, ahora... si alguien mas inicia sesion le muestra sus datos... como hago para que la pagina perfil.php muestre mis propios datos, pero que puedan acceder por ejemplo a perfil.php?user09213 .. y que ahi esten los datos del usuario con el ID 09213 guardado en la base de datos... no se si me explico

un ejemplo seria esta pagina, al crear un tema.. el tema tiene un ID y en la url se muestra de la siguiente manera

http://www.forosdelweb.com/newthread.php?do=postthread&f=18

al acceder a esta ID iran a este tema.. algo asi quiero en mi web pero con perfiles...


ESPERO RESPUESTAS DESDE YA MUCHAS GRACIAS
  #2 (permalink)  
Antiguo 02/05/2012, 18:24
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 11 años, 9 meses
Puntos: 528
Respuesta: Problemita para crear sistema de perfiles

Todos posteamos preguntas esperando respuestas....

Si en tu archivo perfil.php buscas la información del perfil por id, no hay mucho que complicarse.

si usas la url del tipo perfil.php?user=0921

En tu código obtendrías el id a buscar mediante $_GET['user'], por tanto la búsqueda del perfil podría ser

$id=$_GET['user'];

$datos=mysql_query("select * from perfil where id_user='$id'");
  #3 (permalink)  
Antiguo 02/05/2012, 18:50
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 13
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Problemita para crear sistema de perfiles

Muchisimas gracias por la respuesta!

Última edición por ezebongiovi; 02/05/2012 a las 18:56
  #4 (permalink)  
Antiguo 02/05/2012, 18:57
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 13
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Problemita para crear sistema de perfiles

Cita:
Iniciado por ocp001a Ver Mensaje
Todos posteamos preguntas esperando respuestas....

Si en tu archivo perfil.php buscas la información del perfil por id, no hay mucho que complicarse.

si usas la url del tipo perfil.php?user=0921

En tu código obtendrías el id a buscar mediante $_GET['user'], por tanto la búsqueda del perfil podría ser

$id=$_GET['user'];

$datos=mysql_query("select * from perfil where id_user='$id'");
Una pequeña duda, el
$id=$_GET['user']
donde 'user' hace referencia al id .. cierto?
y.. esto simplemente lo aplico de esa manera? es decir automaticamente va a obtener el ID desde la base de datos?
  #5 (permalink)  
Antiguo 03/05/2012, 11:54
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 11 años, 9 meses
Puntos: 528
Respuesta: Problemita para crear sistema de perfiles

Cita:
Buenas, perdon por las molestias, pero necesitaba que me respondieras una cosita:

dijiste que si buscaba a los usuarios por el id utilizara $_GET['user'] pero... la verdad no entendi a qe te referias, te cuento... en mi pagina perfil.php
tengo esto:
<?php
session_start();
if(!isset($_SESSION['nombre'])){
header('Location: login.html');
}
?>
TODO EL HTML
<?php

$conexion=mysql_connect("localhost","root","ascent ")
or die ("Problemas en la conexion");
mysql_select_db("4people",$conexion) or die ("Problemas en la seleccion de db");
$datos=mysql_query("select * from usuarios where email='$_SESSION[email]'",$conexion)
or die("error en el select".mysql_error());

$info=mysql_fetch_array($datos);
?>
RESTO DE HTML ..

Ahora..el tema es qe siempre va a mostrar los datos de quien inicia sesion en la pagina perfil.php porque estoy usando las variables $_SESSION[] pero yo quiero qe cada ID sea una web diferente y tenga datos diferentes... es decir el de cada usuario como logro eso?
Respondiendo a tu duda, la sesión la debes usar para verificar que el usuario esté autorizado para entrar.

según veo, buscas los datos del perfil mediante el $_SESSION[email], por tanto, para que te funcione con cualquier usuario, ése parámetro lo debes cambiar, obteniéndolo ya sea por get, o post. Lo más usual es por get.

Cuando despliegues la lista de usuarios, tendrías que poner una liga más o menos así:
suponiendo que lees la tabla 4people:

Código PHP:
Ver original
  1. $usuarios=mysql_query("select * from 4people");//leo la lista de usuarios
  2. while($user=mysql_fetch_assoc($usuarios)){//vamos leyendo usuario por usuario
  3.      echo "<a href=\"perfil.php?email=$user[email]\">Nombre: $user[nombre] nick:$user[nick]</a><br/>";

y en perfil.php, en donde dices
Código PHP:
Ver original
  1. $datos=mysql_query("select * from usuarios where email='$_SESSION[email]'",$conexion)
habría que cambiar por:
Código PHP:
Ver original
  1. $datos=mysql_query("select * from usuarios where email='$_GET[email]'",$conexion)

donde $_GET[email] contendrá el valor del email pasado por la url (perfil.php?email=$user[email])

Nota: en esta consulta no te mostré un ejemplo, pero debes filtrar cualquier valor que recibas por $_GET, de lo contrario, podrían pasarte un parámetro que sea una orden sql y hackear tu sitio.
  #6 (permalink)  
Antiguo 04/05/2012, 21:13
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 13
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Problemita para crear sistema de perfiles

Muchisimas Gracias!!! ... ahora me dejaste asustado con el tema de que pueden hackear mi sitio! si tienes tiempo me vendria bien una leve explicacion sobre ese tema :) TE AGRADEZCO MUCHISIMO! por la respuesta!

Etiquetas: sistema, usuarios
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 12:44.