tengo dos códigos. en el primero el usuario que se loguea en la web es identificado y en el segundo una vez captada su id de usuario le devuelve la información de su perfil almacenada en la bbdd. el caso es que me identifica la id correctamente (www.misitio.com/perfil.php?id=x) pero el archivo perfil.php me dice que la id seleccionada no existe. me está volviendo loco este tema . ayuda por favor!!
gracias a todos
el autentificar.php es:
Código PHP:
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db
if( ($_POST[nick] == ' ') or ($_POST[pass] == ' ') )//comprobamos que las variables enviadas por el form de login.php tienen contenido
{
Header("Location: login.php"); //estan vacías, volvemos al index
}else{
//comprobamos en la db si existe ese nick con esa pass
$usuarios=mysql_query("SELECT * FROM users WHERE nick='$_POST[nick]' and pass='$_POST[pass]' ");
if($user_ok = mysql_fetch_array($usuarios)) //si existe comenzamos con la sesion, si no, al index
{
session_register("usuario"); //registramos la variable usuario que contendrá el nick del user
session_register("idusuario"); //registramos la variable idusuario que contendrá la id del user
//session_register("level"); //registramos la variable level que contendrá el level del user
//damos valores a las variables de la sesión
$_SESSION[usuario] = $user_ok["nick"]; //damos el nick a la variable usuario
$_SESSION[idusuario] = $user_ok["id"]; //damos la id del user a la variable idusuario
//$_SESSION[level] = $user_ok["level"]; //damos el level del user a la variable level
$id = $user_ok["id"];
header("Location: http://www.misitio.com/perfil.php?id=".$id);
}
else{
echo 'Nick y pass incorrectos';
}
}
?>
Código PHP:
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db y la sesión
if(isset($_GET['id']))
{
echo 'no se ha seleccionado ninguna id'; //no han seleccionado ninguna id,
}else{
//comprobamos si esa id existe
$user=mysql_query("SELECT * FROM users WHERE id='$id' ");
if($user_ok=mysql_fetch_array($user) )
{
//todo comprobado, ahora solo falta mostrar los datos
echo 'Usuario <b>'.$user_ok["nick"].'</b><br>';
echo '<br>Email: <a href="mailto:'.$user_ok["email"].'">'.$user_ok["email"].'</a><br>';
//sacamos la fecha de registro mediante la funcion date
$fecha=date("d.m.Y - H:i", $user_ok["fecha"]);
echo 'Fecha de registro: '.$fecha.'<br>';
//por último mostramos el rollo
echo 'Rollo:<br>'.$user_ok["mensaje"];
}else{
echo 'La id seleccionada no existe';
}
}
?>