Foros del Web » Programando para Internet » PHP »

Perfil de usuario publico

Estas en el tema de Perfil de usuario publico en el foro de PHP en Foros del Web. Hola a todos, estoy armando un sitio web y tengo problemas para crear los perfiles de los usuario. Ya tengo el formulario de registro, login ...
  #1 (permalink)  
Antiguo 24/06/2011, 07:33
Avatar de mfquesada  
Fecha de Ingreso: junio-2011
Ubicación: Buenos Aires
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Perfil de usuario publico

Hola a todos, estoy armando un sitio web y tengo problemas para crear los perfiles de los usuario. Ya tengo el formulario de registro, login y la pagina de perfil que funcionan perfectamente, pero el problema es que nose como hacer para que aparesca en la barra de navegacion el nombre del usuario por ejemplo " www.forosdelweb.com/nombredeusuario" o "www.forosdelweb.com/perfil.php?id=usuario". Lo que yo quiero lograr es que al acceder por medio de una de esas direcciones me lleve al perfil del usuario donde apareceran algunos datos. La pagina esta en php.

cualquier ayuda es bienvenida, saludos.

Miguel
  #2 (permalink)  
Antiguo 24/06/2011, 07:39
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: Perfil de usuario publico

"www.forosdelweb.com/perfil.php?id=usuario" de esa manera , le debes pasar el usuario por url , lo puedes hacer por medio de un href :

Código PHP:
Ver original
  1. <a href"pagina.php?id=<?php echo $usuario;?>&otra_variable=<?php echo $otravariable?>">pagina</a>"

Si tienes codigo postealo , es mas facil de ayudar de esa forma, saludos
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #3 (permalink)  
Antiguo 24/06/2011, 07:53
Avatar de mfquesada  
Fecha de Ingreso: junio-2011
Ubicación: Buenos Aires
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Perfil de usuario publico

el codigo que yo tengo es el de login.php, donde vos pones tu usuario y contraseña si esta mal te manda un mensaje de error y si esta bien te redirecciona a la pagina de perfil.php

cuando un usuario se loguea necesito que lo redireccione a perfil.php?id=usuario

el codigo de login.php es:

if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=md5($_POST['pas']);
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "perfil.php";
$MM_redirectLoginFailed = "login.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_base, $base);

$LoginRS__query=sprintf("SELECT usuario, cont FROM usuarios WHERE usuario=%s AND cont=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));

$LoginRS = mysql_query($LoginRS__query, $base) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";

if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;

if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess);
}
}
  #4 (permalink)  
Antiguo 24/06/2011, 07:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Perfil de usuario publico

¿Y te cuesta mucho trabajo agregar el ID a la URL del perfil?

Porque entonces debes seleccionarlo también con tu consulta, y sencillamente concatenarlo al final.
Código PHP:
$MM_redirectLoginSuccess .= '?id=' $variable_id
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 24/06/2011, 07:57
Avatar de mfquesada  
Fecha de Ingreso: junio-2011
Ubicación: Buenos Aires
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Perfil de usuario publico

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Y te cuesta mucho trabajo agregar el ID a la URL del perfil? :pensando:
intente de varias formas pero no me reconoce la sintaxis :s
  #6 (permalink)  
Antiguo 24/06/2011, 07:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Perfil de usuario publico

Cita:
Iniciado por mfquesada Ver Mensaje
intente de varias formas pero no me reconoce la sintaxis :s
Sería bueno saber como lo haces, porque adivinar es imposible.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 24/06/2011, 08:05
Avatar de mfquesada  
Fecha de Ingreso: junio-2011
Ubicación: Buenos Aires
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Perfil de usuario publico

Cita:
Iniciado por pateketrueke Ver Mensaje
Sería bueno saber como lo haces, porque adivinar es imposible.
la linea de redireccionamiento me quedo asi:

header("Location: " . $MM_redirectLoginSuccess .= '?id=' . $_POST['usuario']);

pero todavia sigo con el mismo problema, cuando me logueo en la pagina pefil.php en la barra de navegacion no aparece la extension "?id=usuario" solo aparece "perfil.php".

tengo que agregar algun codigo en la pagina perfil.php para que reconosca esa extencion?
  #8 (permalink)  
Antiguo 24/06/2011, 08:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Perfil de usuario publico

Si lo que agregaste al enlace de redirección no aparece en la URL significa que no estás haciendo las cosas bien, ¿seguro que estas editando el código correcto?

Es bien simple, de verdad.
Código PHP:
header("Location: " $MM_redirectLoginSuccess '?prueba'); 
¿Así que sucede?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 24/06/2011, 08:22
Avatar de mfquesada  
Fecha de Ingreso: junio-2011
Ubicación: Buenos Aires
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Respuesta: Perfil de usuario publico

Cita:
Iniciado por pateketrueke Ver Mensaje
Si lo que agregaste al enlace de redirección no aparece en la URL significa que no estás haciendo las cosas bien, ¿seguro que estas editando el código correcto?

Es bien simple, de verdad.
Código PHP:
header("Location: " $MM_redirectLoginSuccess '?prueba'); 
¿Así que sucede?
supongo que el codigo correcto es editando la linea esta, probe como me dijistes pero sigue siendo lo mismo, solo aparece perfil.php

el codigo de la pagina de perfil.php es:

Código PHP:
<?php
if (!isset($_SESSION)) {
  
session_start();
}
$MM_authorizedUsers "";
$MM_donotCheckaccess "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers$strGroups$UserName$UserGroup) { 
  
// For security, start by assuming the visitor is NOT authorized. 
  
$isValid False

  
// When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  
if (!empty($UserName)) { 
    
// Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    
$arrUsers Explode(","$strUsers); 
    
$arrGroups Explode(","$strGroups); 
    if (
in_array($UserName$arrUsers)) { 
      
$isValid true
    } 
    
// Or, you may restrict access to only certain users based on their username. 
    
if (in_array($UserGroup$arrGroups)) { 
      
$isValid true
    } 
    if ((
$strUsers == "") && true) { 
      
$isValid true
    } 
  } 
  return 
$isValid
}

$MM_restrictGoTo "login.php";
if (!((isset(
$_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers$_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  
$MM_qsChar "?";
  
$MM_referrer $_SERVER['PHP_SELF'];
  if (
strpos($MM_restrictGoTo"?")) $MM_qsChar "&";
  if (isset(
$_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0
  
$MM_referrer .= "?" $_SERVER['QUERY_STRING'];
  
$MM_restrictGoTo $MM_restrictGoTo$MM_qsChar "accesscheck=" urlencode($MM_referrer);
  
header("Location: "$MM_restrictGoTo); 
  exit;
}
?>
  #10 (permalink)  
Antiguo 24/06/2011, 08:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Perfil de usuario publico

No, no, no.

No es necesario conocer el código de perfil.php pues no tiene importancia al caso.

El problema lo tienes en el script de login, y ahí es donde haces la redirección.

¿Quieres mostrar lo que tienes?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 24/06/2011, 08:45
Avatar de mfquesada  
Fecha de Ingreso: junio-2011
Ubicación: Buenos Aires
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Respuesta: Perfil de usuario publico

Cita:
Iniciado por pateketrueke Ver Mensaje
No, no, no.

No es necesario conocer el código de perfil.php pues no tiene importancia al caso.

El problema lo tienes en el script de login, y ahí es donde haces la redirección.

¿Quieres mostrar lo que tienes?
este es todo el codigo que tengo en la pagina de login.php

Código PHP:
<?php require_once('../Connections/base.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  
session_start();
}

$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
  
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset(
$_POST['usuario'])) {
  
$loginUsername=$_POST['usuario'];
  
$password=md5($_POST['pas']);
  
$MM_fldUserAuthorization "";
  
$MM_redirectLoginSuccess "perfil.php";
  
$MM_redirectLoginFailed "login.php";
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_base$base);
  
  
$LoginRS__query=sprintf("SELECT usuario, cont FROM usuarios WHERE usuario=%s AND cont=%s",
    
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
   
  
$LoginRS mysql_query($LoginRS__query$base) or die(mysql_error());
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
     
$loginStrGroup "";
    
    if (
PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    
//declare two session variables and assign them
    
$_SESSION['MM_Username'] = $loginUsername;
    
$_SESSION['MM_UserGroup'] = $loginStrGroup;          

    if (isset(
$_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
    }
  
header("Location: " $MM_redirectLoginSuccess .= '?id=' $_POST['usuario']);
  }
}
?>

<?php
if (isset($_SESSION['MM_Username'])) 
{
    
header("Location: perfil.php ");
}
?>

<?php
if(isset($_POST['recordar']))
{
    
$recordar$_POST['recordar'];
    
setcookie("rec"$recordartime() + 3600);
    
setcookie("uid", ($loginUsername), time() + 3600);
    
setcookie("pid"md5($password), time() + 3600);
}
else
{
    if(isset(
$_COOKIE["rec"]))
{
    
$recordar$_COOKIE["rec"];
}
}
?>
  #12 (permalink)  
Antiguo 24/06/2011, 09:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Perfil de usuario publico

¿Y aquí por que no colocas el ID?
Código PHP:
header("Location: perfil.php "); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 24/06/2011, 09:11
Avatar de mfquesada  
Fecha de Ingreso: junio-2011
Ubicación: Buenos Aires
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Respuesta: Perfil de usuario publico

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Y aquí por que no colocas el ID? :pensando:
Código PHP:
header("Location: perfil.php "); 
por que ese codigo lo puse para redireccionar al usuario y sacarlo de la pagina de loguin en caso de que ya este logueado, si yo quito el codigo:
Código PHP:
<?php
//redirecciona el usuario si la sesion ya esta iniciada
if (isset($_SESSION['MM_Username'])) 
{
    
header("Location: perfil.php");
}
?>
y alguien escribe en la barra de navegacion www.sitio.com/login.php el usuario podra ver el formulario de login estando logueado.

sin ese codigo la linea :

Código PHP:
  header("Location: " $MM_redirectLoginSuccess .= '?id=' .$loginUsername); 
funciona correctamente, que podria implementar para suplantar
Código PHP:
<?php
//redirecciona el usuario si la sesion ya esta iniciada
if (isset($_SESSION['MM_Username'])) 
{
    
header("Location: perfil.php");
}
?>
y que tenga el mismo resultado??
  #14 (permalink)  
Antiguo 24/06/2011, 09:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Perfil de usuario publico

Para que funcione del mismo modo debes extraer la información necesaria de la BD y usarla en la redirección.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #15 (permalink)  
Antiguo 24/06/2011, 09:29
Avatar de mfquesada  
Fecha de Ingreso: junio-2011
Ubicación: Buenos Aires
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Respuesta: Perfil de usuario publico

Cita:
Iniciado por pateketrueke Ver Mensaje
Para que funcione del mismo modo debes extraer la información necesaria de la BD y usarla en la redirección.
me podrias dar un ejemplo de como hacerlo ?

gracias por tu ayuda
  #16 (permalink)  
Antiguo 24/06/2011, 09:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Perfil de usuario publico

A ver, ¿entonces no sabes hacer consultas a la base de datos?

Porque ya se está haciendo largo esto, y de verdad, hay temas y FAQ's donde te enseñan a hacer eso.

Deberías investigar y aprender a hacerlo antes de continuar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 24/06/2011, 09:50
Avatar de mfquesada  
Fecha de Ingreso: junio-2011
Ubicación: Buenos Aires
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Perfil de usuario publico

Cita:
Iniciado por pateketrueke Ver Mensaje
A ver, ¿entonces no sabes hacer consultas a la base de datos?

Porque ya se está haciendo largo esto, y de verdad, hay temas y FAQ's donde te enseñan a hacer eso.

Deberías investigar y aprender a hacerlo antes de continuar.
si, se como hacer consultas, te pedi un ejemplo para entender mejor como seria el procedimiento del codigo. igualmente gracias por tu ayuda. saludos
  #18 (permalink)  
Antiguo 24/06/2011, 09:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Perfil de usuario publico

Pues es que el procedimiento es bastante claro, pensaba que no tendrías problemas.

Solo haces la consulta del usuario actual, extraes su ID y lo concatenas la URL de redirección.

¿O de verdad no se entiende la idea?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 24/06/2011, 09:55
Avatar de mfquesada  
Fecha de Ingreso: junio-2011
Ubicación: Buenos Aires
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Perfil de usuario publico

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues es que el procedimiento es bastante claro, pensaba que no tendrías problemas.

Solo haces la consulta del usuario actual, extraes su ID y lo concatenas la URL de redirección.

¿O de verdad no se entiende la idea?
ahora si se entiende, vengo hace dias programando al rededor de 16 hs por dia y la verdad ya estoy medio confundido. pero hasta que no termine de hacer esto no voy a descansar.

Etiquetas: html, perfil, publico, 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 05:47.