PHP - Que al registrarse se genere URL personal para el usuario como en facebook y twitter

   
Vista:
Imágen de perfil de Iñaki

Que al registrarse se genere URL personal para el usuario como en facebook y twitter

Publicado por Iñaki (14 intervenciones) el 13/08/2017 11:16:26
Buenas,

Me surge una duda. Al crearte una cuenta de usuario en facebook o en twitter, se autogenera un url para el usuario. ¿Cual sería el planteamiento para que esto suceda?
Yo hubiera hecho por ejemplo en un muro de publicaciones (como puede ser el de facebook), si le das clic al nombre de un usuario cualquiera, que ese nombre sea un enlace, y haga una select "where nombreUsuario = (el que hemos clicado), eso mostraría los datos de cualquier usuario en plan página de ese usuario con los datos que queramos, pero ¿si queremos que en la ruta se le cree una url para que ese usuario lo pueda utilizar?

Por ejemplo: http://www.web.com/LuisGarcia

Espero que me haya expresado bien.

¡Saludos y gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de facundo

Que al registrarse se genere URL personal para el usuario como en facebook y twitter

Publicado por facundo (88 intervenciones) el 13/08/2017 19:04:31
Debe haber formas mejores de hacerlo calculo... pero te puedo dar una idea... Tenes que trabajar con sesiones.... Cuando el usuario se logea guardas el nombre del usuario logeado en una sesion....... Bien, hasta aca ya tenes la sesion creada con el nombre del usuario.... Ahora en la pagina que seria tu muro, por ejemplo, que haya un boton que sea "ver mi muro" el lleva a la miMuro.php, ahi preguntarias por el nombre del usuario guardado en la sesion, una vez capturado el nombre haces un SELECT * FROM usuarios WHERE nombre = usu_nombre (el guardado en la sesion) basicamente seria eso.... sabes sobre sesiones?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar
Imágen de perfil de Iñaki

Que al registrarse se genere URL personal para el usuario como en facebook y twitter

Publicado por Iñaki (14 intervenciones) el 13/08/2017 22:22:12
Gracias,
Se sobre sesiones si.
Pero entonces ese usuario no podría usar ese enlace como personal fuera de la web. Imagínate en un curriculum por ejemplo poder poner el enlace de su página al igual que los enlaces o páginas que se crean en facebook, linkedin, etc. Al registrarse un usuario se genera automáticamente un url o link para cada usuario.
¿Me explico?

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de facundo

Que al registrarse se genere URL personal para el usuario como en facebook y twitter

Publicado por facundo (88 intervenciones) el 14/08/2017 03:59:24
SI, si lo que queres es poder poner el link de tu muro en cualquier lado y que sea publico que cualquier persona pueda verlo entonces el valor del nickname, lo haces por defecto, osea, que en la pagina "muro" haces una pagina fija que haga un select de todo lo que hay en la database del usuario en cuestion, para que se muestre en esa pagina(muro).
Eso lo sacarias con el ID del usuario, por ejemplo.... la pagina seria www.redsocial.com/muro/ID=38 que lo podes hacer una "web amigable" que sea www.redsocial.com/profiles/usuario por ejemplo...
Entonces cada vez que una persona se registra, se ingresa un ID fijo para ese usuario a la database. Entonces en la pagina ".com/muro/ID=34" por defecto se hace un SELECT muro FROM USUARIOS where id=$id (esta variable la tomarias por GET; cuando le haces click a "ver mi muro" te llevaria a ".com/muro/ID=mi-id" y de no existir ese id te tira un error que no se encontro ese usuario en la base de datos, y si existe ese id en la base de datos entonces te va a mostrar todo tu muro en la pagina (sin necesidad de que alguien este logeado para poder verlo)...

Yo te digo lo que se yo hasta el momento y funciona, ahora si hay mejores formas de hacaerlo seguro!, pero asi te va a funcionar... Despues si lo queres hacer bien bien tendrias que hacerlo con php orientado a objetos y cuestiones de seguridad...

Comentá como te fue..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

Que al registrarse se genere URL personal para el usuario como en facebook y twitter

Publicado por kip (806 intervenciones) el 13/08/2017 19:42:50
Hola, tal como te comenta Facundo puedes guardar en sesión algún valor para tomar el nick del usuario y mostrar sus datos, pero tienes que hacer algo de mas trabajo ya que deberías crear una pagina que tome este valor por GET.
Esta debe ser una pagina tipo plantilla y general ya que sera la usada para visitar cualquier perfil en base al valor pasado por GET, es lo que implementa cualquier blog, red social etc.

Un ejemplo claro es esta web cuando entras a ver tus mensajes en los foros:

http://www.lawebdelprogramador.com/foros/usuario.php?id=ID

En el caso anterior se pasa el ID por GET y en base a este el servidor hace las consultas necesarias para mostrar los datos.

Ahora bien para que no aparezca este tipo de QUERY STRING en la url debes usar en el caso de un servidor Apache, el archivo .htaccess y tener el modulo rewirte activado para hacer la reescritura de urls(ul rewriting) y transformar la url anterior a una mas amigable !

Aqui tienes un enlace que quizas te sirva:

https://www.emenia.es/como-crear-urls-amigables-con-htaccess/

Intentalo y nos cuentas !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar