Foros del Web » Programando para Internet » PHP »

necesito que cuando me logeo aparesca la id

Estas en el tema de necesito que cuando me logeo aparesca la id en el foro de PHP en Foros del Web. hola necesito que me ayuden con esto tengo un sistema de usuarios pero necesito que cuando el usuario entre asu perfil aparesca : www.misitioa.com/perfil.php?id=ID TE ...
  #1 (permalink)  
Antiguo 23/04/2011, 12:13
 
Fecha de Ingreso: febrero-2011
Mensajes: 9
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta necesito que cuando me logeo aparesca la id

hola necesito que me ayuden con esto tengo un sistema de usuarios pero necesito que cuando el usuario entre asu perfil aparesca : www.misitioa.com/perfil.php?id=ID

TE DEJO EL CODIGO PHP:

autentificar.php:
Cita:
<?
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
Header("Location: login.php"); //volvemos al login donde nos saldrá nuestro menú de usuario

}else{
echo 'Nick y pass incorrectos';
}

}
?>
Config.php

Cita:
<?
$dbhost=""; //Host del mysql
$dbuser=""; //Usuario del mysql
$dbpass=""; //Password del mysql
$db=""; //db donde se creará la tabla users

//conectamos y seleccionamos db
mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$db");

//Comenzamos la sesión, esto se explica despues en el Sistema de Login
session_start();
?>
login.php

Cita:
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db
$id=$_GET["id"];

if(!isset($_SESSION[usuario]) ) //comprobamos que no existe la session, es decir, que no se ha logeado, y mostramos el form
{



//Creamos el form k irá a autentificar.php para comprobar los datos con la tabla users
echo '<form action="autentificar.php" method="POST">
Nick: <input type="text" name="nick" size="30"><br>
Password: <input type="password" name="pass" size="30" ><br>
<input type="submit" name="submit" value="Enviar"></form>';

}else{

//SI se ha logeado, mostramos el nick y la opción de deslogearse
//Este sería el menú que saldría a la gente que esta logeada, se puede modificar y añadir cosas
echo 'Bienvenido '.$_SESSION[usuario]; //ej Bienvenido Juan
echo '<br>Tu level es '.$_SESSION[level]; //mostramos el level del user
if($_SESSION[level] == 1)
{
//mostramos el link para ir a la pagina privada porque el user tiene level 1 (*Nota: el level por defecto es 2, por lo tanto no se le mostrará)
//*Nota2: para cambiar el level a 1, se tiene k hacer manualmente por phpmyadmin
echo '<br><a href=paginaprivada.php>Ir a pagina privada</a>';
}

echo '<br><a href=logout.php>Salir</a>'; //link para deslogearse, iría a logout.php

}
?>
logout.php

Cita:
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db y la sesión

session_destroy(); //destruimos la sesion
Header("Location: login.php"); //volvemos al login.php

?>

paginaprivada.php


Cita:
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db y la sesión

if($_SESSION[level] == 1)
{
echo 'Tienes level 1 y puedes ver esta página';

}else{
Header("Location: index.php");
}
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = ($endtime - $starttime);
echo "Esta pagina se creo en ".$totaltime." segundos.";
;
?>
perfil.php

Cita:
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db y la sesión

$id=$_GET[id];//a la variable id la define el metodo GET

if(!isset($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["rollo"];


}else{

echo 'La id seleccionada no existe';

}

}
?>
reg.php

Cita:
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db

//Creamos el form k irá a registrar.php para comprobar y introducir los datos a la tabla users
echo '<form action="registrar.php" method="POST">
Nick: <input type="text" name="nick" size="30"><br>
Password: <input type="password" name="pass" size="30" ><br>
Repetir Password: <input type="password" name="pass1" size="30" ><br>
email: <input type="text" name="email" size="50"><br>
Rollo: <textarea name="rollo" cols="30" rows="10"></textarea><br>
<input type="submit" name="submit" value="Enviar"></form>';
?>
registrar.php
Cita:
<?
include('config.php'); //incluimos el config.php que contiene los datos de la conexión a la db

//Comprobamos que los campos nick, pass y pass1 se han rellenado en el form de reg.php, sino volvemos al form
if(($_POST[nick] == ' ') or ($_POST[pass] == ' ') or ($_POST[pass1] == ' ') )
{
Header("Location: reg.php"); //enviamos al form de registro que esta en reg.php
}else{

//Comprobamos que la pass y pass1 son iguales, sino, volvemos a reg.php
if($_POST[pass] != $_POST[pass1])
{
echo 'Las passwords no son iguales';
}else{

//quitamos el codigo malicioso de $_POST[nick] y $_POST[pass]
$user = stripslashes($_POST["nick"]);
$user = strip_tags($user);
$pass = stripslashes($_POST["pass"]);
$pass = strip_tags($pass);
//comprobamos que el usuario no existe en la db
$usuarios=mysql_query("SELECT nick FROM users WHERE nick='$user' ");
if($user_ok=mysql_fetch_array($usuarios))
{
echo 'El usuario ya esta registrado';
mysql_free_result($usuarios); //liberamos la memoria del query a la db
}else{
//quitamos todo el codigo malicioso de las demas variables del form de registro
$email = stripslashes($_POST["email"]);
$email = strip_tags($email);

$rollo = stripslashes($_POST["rollo"]);
$rollo = strip_tags($rollo);
$rollo = str_replace("\n\r","<br>",$rollo); //se cambian los saltos de linea por <br>
$rollo = str_replace("\r\n","<br>",$rollo);
$rollo = str_replace("\n","<br>",$rollo);

$fecha = time();
$level = "2"; //usaremos level 1 para admins, level 2 para los demas (se cambia manualmente desde phpmyadmin)

//introducimos el nuevo registro en la tabla users
mysql_query("INSERT INTO users (nick,pass,email,fecha,level,rollo) values ('$user','$pass','$email','$fecha','$level','$roll o') ");
echo 'Usuario registrado con éxito';
}

}

}
?>
  #2 (permalink)  
Antiguo 23/04/2011, 12:18
 
Fecha de Ingreso: febrero-2011
Mensajes: 9
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: necesito que cuando me logeo aparesca la id

aqui la pagina donde encontre el codigo php:

http://www.php-hispano.net/archivos/Manuales/51/1/Sistema-de-registro-de-usuarios1.html
  #3 (permalink)  
Antiguo 23/04/2011, 12:21
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 10 meses
Puntos: 772
Hola, ayrton2011

Muevo tu tema al foro de PHP desde Emprendimiento Web.

Saludos,
  #4 (permalink)  
Antiguo 23/04/2011, 12:24
 
Fecha de Ingreso: febrero-2011
Mensajes: 9
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: necesito que cuando me logeo aparesca la id

ok como lo ago soy nuevo pasame el link
  #5 (permalink)  
Antiguo 23/04/2011, 12:27
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años, 8 meses
Puntos: 116
Respuesta: necesito que cuando me logeo aparesca la id

deberias leerte las normas del foro.
Estas haciendo mucho spam, ya esta movido, asi que ya dejalo asi.

Y a esperar a que alguien con buenos conocimientos o que desee ayudarte, venga y te de una respuesta.
__________________
Programador jQuery & PHP
  #6 (permalink)  
Antiguo 23/04/2011, 14:03
 
Fecha de Ingreso: diciembre-2010
Mensajes: 77
Antigüedad: 14 años
Puntos: 11
Respuesta: necesito que cuando me logeo aparesca la id

Según el código de perfil.php obtiene la variable ID por GET o sea que cual es el problema? :S
__________________
Convert JSON to CSV
  #7 (permalink)  
Antiguo 30/04/2011, 16:13
 
Fecha de Ingreso: febrero-2011
Mensajes: 9
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: necesito que cuando me logeo aparesca la id

lo que quiero hacer es cuando inicio secion aparesca la id
  #8 (permalink)  
Antiguo 30/04/2011, 20:36
Avatar de fekaa11  
Fecha de Ingreso: abril-2011
Ubicación: Córdoba / Argentina
Mensajes: 115
Antigüedad: 13 años, 7 meses
Puntos: 34
Respuesta: necesito que cuando me logeo aparesca la id

En un archivo fijate que se declara lo siguiente:

Cita:
session_register('id_usuario');
$_SESSION['id_usuario'] = $user_ok['id'];
Entonces para ingresar a el perfil con el ID debes mandar una instrucción como la siguiente:
Código PHP:
Ver original
  1. $user_id = $_SESSION['id_usuario'];
  2. echo "<a href=".$user_id.">Ir a mi perfil</a>

Espero que te haya servido, Saludos !
__________________
Pedir perdón es de hombres inteligentes. Perdonar es de sabios.

Etiquetas: emprendimiento-web, logeo
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 06:18.