Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/05/2012, 10:54
ocp001a
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 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.