Foros del Web » Programando para Internet » PHP »

Perfil de Usuarios en PHP

Estas en el tema de Perfil de Usuarios en PHP en el foro de PHP en Foros del Web. Buenas gente! Que tal?. Soy nuevo en el foro pero llevo tiempo navegando por forosdelweb en busca de ayuda y tal. Siempre me ha sido ...
  #1 (permalink)  
Antiguo 04/07/2011, 02:39
 
Fecha de Ingreso: julio-2011
Mensajes: 5
Antigüedad: 13 años, 4 meses
Puntos: 0
Perfil de Usuarios en PHP

Buenas gente!

Que tal?.

Soy nuevo en el foro pero llevo tiempo navegando por forosdelweb en busca de ayuda y tal. Siempre me ha sido muy útil, pero esta vez me enfrento a un problema que no llego a resolver, aunque creo que me falta poco.

Tengo un proyecto académico donde el objetivo es el siguiente.

Queremos que una web sea consultable por perfiles de usuario: jovenes, adultos y mayores. El diseño de la web se modifica por CSS con cada perfil.

Para ello tenemos un menu de perfiles accesible desde todas las páginas a través de enlaces, además de un selector de perfiles nada más entrar también con enlaces.

Con CSS vamos a hacer que la web cambie de aspecto adaptándose al usuario,
el problema es el contenido, queremos que en la home, donde aparecen noticias destacadas, aparezcan unas u otras dependiendo de el perfil...

Como CSS es para diseño, no puedo utilizarlo para introducir información y tampoco quiero por motivos de actualización, hacer tres archivos diferentes, cada uno con sus noticias y cada uno con sus enlaces al CSS...

He estado investigando y encontré una forma de hacerlo en PHP con el siguiente link:
http://www.sidar.org/recur/desdi/mcss/selector.php

Aun no he probado que funcione pero parece que si, de todas maneras mis dudas empiezan ahora:


1. - Hay alguna forma de no hace la selección sin caja de selección, sino por enlaces de texto? Es decir, que los valores pasen sin necesidad de un formulario, sino por un link.

2. - Habría alguna forma de que, al entrar a Home, no solo supiera el css que ha escogido, sino también el tipo de perfil, para que en noticias, poner algun tipo de código que diga:

if $jovenes, print include noticiajoven01.php

algo asi, que reconozca el perfil y luego imprimiera el include q le corresponda con su noticia...



No se si me he explicado bien,
Tengo todo en la cabeza bien estructurado, pero me falta una chispa para unir todo... Mis conocimientos son limitados, pero si me pudierais dar orientación o algún tips o consejo será bien recibido...


Gracias por adelantado a todos.
Seguid así y enhorabuena por la web.
Saludos


Manu Gómez

Última edición por manugomez86; 04/07/2011 a las 02:48 Razón: Especificar que el proyecto es académico
  #2 (permalink)  
Antiguo 04/07/2011, 03:01
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Perfil de Usuarios en PHP

Bievenid@ a forosdelweb.

Para poder hacer esto trata de buscar informacion de $_SESSION (o variables de sesion)

En ellas podras guardar los datos del tipo de usuario... por ejemplo:

Usuario joven
Usuario adulto
Usuario mayor

De esta manera podras asociar el tipo de usuario a un css de esta manera:

joven joven.css
adulto adulto.css
mayor mayor.css

Y teniendo el tipo de usuario tambien podras identificar que cosa mostrar en la portada

Si usuario == joven --> mostrar lo que ven los jovenes
Si usuario == adulto --> mostrar lo que ven los adultos
Si usuario == mayor --> mostrar lo que ven los mayores

Las variables de sesion se trabajan de la siguiente manera (sin entrar mucho en detalle)
Código php:
Ver original
  1. pagina1.php
  2. session_start(); //funcion para iniciar el trabajo con sesiones
  3. //esta funcion si o si debe estar en cualquier pagina donde quieras acceder a estas variables
  4.  
  5. //ahora generamos una variable llamada tipoUsuario
  6. //y le vamos a cargar el valor joven
  7. $_SESSION['tipoUsuario'] = 'joven';
Código php:
Ver original
  1. pagina2.php
  2. session_start(); //funcion para iniciar el trabajo con sesiones
  3.  
  4. //ahora llamamos a la variable tipoUsuario y la mostramos en pantalla
  5. echo $_SESSION['tipoUsuario'];
Con esto ya tienes algo para comenzar.

Saludos!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 04/07/2011, 03:17
 
Fecha de Ingreso: julio-2011
Mensajes: 5
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Perfil de Usuarios en PHP

Muchísimas gracias Marvin por contestar y tan rápido.

Hasta ahora lo que he aprendido en PHP es a pasar información dandole a enviar a través de un form y con un campo oculto envia una variable de una web a otra.

Las sesiones utilizan base de datos?.
Cómo recuerda la web el usuario que he elegido en la primera página?
Y como le digo a través de un enlace lo que he elegido y lo paso a la siguiente?


Gracias de nuevo Marvin. Investigaré sobre las sesiones también.
  #4 (permalink)  
Antiguo 04/07/2011, 03:21
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Perfil de Usuarios en PHP

Te contesto...

Las sesiones no utilizan base de datos a menos que tu quieras que asi sea... basicamente son variables que puedes llenar con lo que quieras.

Las variables de sesion son basicamente variables (valga la redundancia) que se cargan en el browser... esto quiere decir que si cierras el internet explorer o el firefox, las variables se van.

Para que lo recuerde, en el primer ejemplo que te di, añade un link a la siguiente pagina, como el browser no se cierra, la pagina leera lo que cargaste en la variable de sesion en la primera pagina.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 04/07/2011, 03:34
 
Fecha de Ingreso: julio-2011
Mensajes: 5
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Perfil de Usuarios en PHP

Gracias Marvin.

Entonces, con poner sesion start en cada página, el php se acuerda del tipo de usuario que elgimos al principio a través de los links, no?.

Sigue sin quedarme claro como meto una función a través de un enlace y no através de un formulario, es con echo?.

Gracias por todo Marvin!
Un saludo fuerte y muchas gracias de nuevo
  #6 (permalink)  
Antiguo 04/07/2011, 09:48
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Perfil de Usuarios en PHP

Para que quede extra claro:

Imagina que tu browser (IE, FF, GC, OPERA, etc) es un vaso en una fiesta.

Ahora... supongamos que lo que le pongas al vaso es una pagina web.

Si tomaras un lapiz y escribieras en el vaso, el contenido del vaso, metaforicamente hablando, podra saber lo que esta escrito.

En otras palabras, lo que tienes escrito vendria a ser tu variable de sesion, y por ende hasta que no cambies de vaso (o cierres el browser) tus variables de sesion seguiran ahi.

No identifico aun de que "funcion a traves de un enlace" estas hablando.

Saludos!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #7 (permalink)  
Antiguo 04/07/2011, 10:07
 
Fecha de Ingreso: julio-2011
Mensajes: 5
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Perfil de Usuarios en PHP

Muchas Gracias Marvin!
Me ha servido tu ejemplo!

He pasado el dia intentandolo, y finalmente he conseguido hacer lo de los perfiles y cambiarlo a través de enlaces tipo:



<a href="home3.php?p=j">Perfil Joven</a> </p>

entonces imprimimos a través de condiciones con if, if else y else

donde la ultima es la que queremos que se vea por defecto si no se elige perfil...

Lo primero es que eso no lo respeta, osea, sino elijo ninguna y entro a la web sin pasar por los selectores, me da un error del PHP,

y luego, no respeta el perfil de un enlace a otro, a pesar de que pongo en las siguientes páginas la apertura de sesión....



<?php
session_start();
$perfil = $_GET['p'];
$_SESSION['perfil'] = $perfil; ?>



Este es el código que me ha funcionado para las hojas de estilo:

Código PHP:
 <?php
if($_SESSION['perfil'] == 'j')
{
 echo 
"<link rel=\"stylesheet\" type=\"text/css\" href=\"css/perfil01.css\">";
}
else if (
$_SESSION['perfil'] == 'm'){
 echo 
"<link rel=\"stylesheet\" type=\"text/css\" href=\"css/perfil03.css\">";
}
else {
  echo 
"<link rel=\"stylesheet\" type=\"text/css\" href=\"css/perfil02.css\">";
}
?>

Alguna sugerencia?

Muchas gracias de nuevo!!
  #8 (permalink)  
Antiguo 04/07/2011, 11:11
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 4 meses
Puntos: 181
Respuesta: Perfil de Usuarios en PHP

Hola, pues acabo de leer este foro y creo que la solución es sencilla. Lo primero que debes hacer es efectivamente pasar a traves de enlaces las variables de la sesión que necesitas. Estos enlaces pueden ser mediante un enlace normal o a través de datos ocultos de un formulario (porque al fin y al cabo cuando empiezas una sesión supongo que llenara el usuario algunos datos para saber que tipo de perfil le corresponde). Con la instrucción session_is_registered() puedes verificar si estos datos en realidad si estan pasando bien. Con esta función tienes que pasarle un argumento de la variable de sesión. Si dicha variable existe retornara un valor de 1. Entonces lo que se debe hacer es hacer un pequeño script de prueba para saber si esta variable da true o no. En caso negativo revisa la manera como estas pasando los datos de la sesión.
  #9 (permalink)  
Antiguo 04/07/2011, 11:18
 
Fecha de Ingreso: julio-2011
Mensajes: 5
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Perfil de Usuarios en PHP

Muchas gracias por aportar cuasatar!.

Creo que mis conocimientos no llegan a tanto...
Recien hoy he empezado lo que son las sesiones, y de javascript no se hacer nada...


Lo que necesito es hacer que recuerde el perfil

al final he cambiado el if por un swich, y tiene 4 case, uno por cada perfil y otro para un default...

El usuario elige en la primera página a atraves de un enlace tipo este:

Código HTML:
<a href="home3.php?p=j">Perfil Joven</a> 
donde a la variable p se le da el valor j,

lo que no se es como hacer que recuerde que elegi esa j o alguno de los otros dos perfiles y si no que vaya a default...


Es demasiado complicado?...

Gracias por las ayudas a todos!

Etiquetas: perfil, 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 22:37.