Para no esperar una respuesta tuya (no es por ser impaciente, sino para que lo tengas ya) me imagino que tu quieres un perfil.php que, si tu usuario entra en el perfil de otra persona, vea los datos de otra persona, y si entra en su propio perfil pues que vea sus propios datos de manera publica.
Suponiendo que tienes una página, en la que estan listados los usuarios, y que cuando pinchas a un usuario te lleva a un enlace como este: miweb.com/perfil.php?uid=60
Donde 60 seria el id del usaurio en el que tu pinchas... (si necesitas saber como hacer un listado de usuarios avisa).
Pues entonces perfil.php seria lo siguiente. Para que cuando tenga sea "perfil.php?uid=60" muestre el perfil de id 60, y cuando sea "perfil.php" te muestre tu propio perfil publico
Código PHP:
Ver original<?php
//Incluyes la conexion a la base de datos
//Miras si existe un $_GET, y sino existe pues es que está
//llamando al propio perfil
$uid = (int)$_GET['uid'];
else
$uid = $_SESSION['uid'];
//Ojo: Por que no uso real_escape_string si estamos pasando un dato
//del $_GET a la query? Pues porque en el IF yo pregunte si es numerico
//Y si pasó he vuelto a definir el tipo de dato de $uid como integro, o sea numero
//$uid va ser un numero si o si ahora
//Haces una query con los datos que necesitas de tu perfil
$q = mysql_query("Select * FROM users WHERE uid='".$uid."' LIMIT 1");
//Row contiene ahora todos los datos del usaurio
//Y aqui haces el html de tu perfil
?>
<ul>
<li><span>Nombre:</span><?=$row['user'] ?></li>
<li><span>Correo:</span><?=$row['mail'] ?></li>
<li><span>IP:</span><?=$row['ip'] ?></li>
</ul>
Listo