Foros del Web » Programando para Internet » PHP »

Ayuda con código: Recordar dónde estaba el usuario al iniciar sesión

Estas en el tema de Ayuda con código: Recordar dónde estaba el usuario al iniciar sesión en el foro de PHP en Foros del Web. Muy buenas! Tengo una especie de bookmarklet que el usuario puede utlizar para guardar cualquier web que esté viendo como un enlace en mi web ...
  #1 (permalink)  
Antiguo 04/12/2010, 05:39
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 10 meses
Puntos: 13
Pregunta Ayuda con código: Recordar dónde estaba el usuario al iniciar sesión

Muy buenas!

Tengo una especie de bookmarklet que el usuario puede utlizar para guardar cualquier web que esté viendo como un enlace en mi web (formulario.php),

El problema es que si no tiene la sesión iniciada, le sala la pantalla de login y luego tiene que hacer varios 'atras' o haberlo hecho todo en una pestaña nueva...

Entonces para solucionar esto, estoy intentando:

En formulario.php:


Código PHP:
if ( sesion iniciada // esto lo pongo así para darme más prisa

// aqui vendría el procedimiento de almacenaje de enlace habitual de cuando un  usuario esta logueado
else{ 
                
                
                
// estas son las nuevas lineas de mi código
                
$_SESSION['g'] = true;
                
$_SESSION['t'] = $tituloj;
                
$_SESSION['u'] = $enlacej;
                
$_SESSION['d'] = $descripcionj;
                
                
//este g=1 no hace nada, solo lo he puesto para ver si me hacía caso.. (ya deliro)
                
header("Location: http://keepyourlinks.com/login.php?g=1"); 
En la validación del usuario:

Código PHP:

        session_start
();

if(isset(
$_SESSION['u'])){
            
$g 1;
            
$url$_SESSION['u'];
            
$notes$_SESSION['d'];
            
$title=$_SESSION['t'];
}

// aqui vendría el procedimiento de validación
//...

echo "Bienvenido ".$_SESSION['alias'];
// aqui se supone que compruebo si estaba en el formulario guardando algo y si es así le redirecciono de nuevo con las variables. Pero siempre se va al ELSE...                    
                    
if($g == 1)
                            
header("Location: http://keepyourlinks.com/addlinkfromfirefox.php?url=$url&notes=$notes&title=$title"); 
                    else
                        
header("Location: http://keepyourlinks.com/user.php?id=".$data['id']); 
Alguien ve algo raro? puedo poner el resto del código pero en principio no afecta (Es lo único que he cambiado...)
__________________
¿ya conoces la red social de cocina? descubre y comparte recetas de cocina
TONIWEB, un programador web freelance
  #2 (permalink)  
Antiguo 06/12/2010, 09:04
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: Ayuda con código: Recordar dónde estaba el usuario al iniciar sesión

Yo usaría

Código PHP:
Ver original
  1. $g = true;
  2.  
  3. ...
  4.  
  5. if ($g)

Para debugear, usaría print_r($_SESSION);

Esto que pones me resulta confuso. Si el usuario está logueado, para que lo envias a loguearse?
"// aqui vendría el procedimiento de almacenaje de enlace habitual de cuando un usuario esta logueado" decías....
Código PHP:
Ver original
  1. if ( sesion iniciada ) // esto lo pongo así para darme más prisa
  2.  
  3. // aqui vendría el procedimiento de almacenaje de enlace habitual de cuando un  usuario esta logueado
  4. else{

Y bueno, por ultimo te cuento que funcion estoy usando yo para manejo de redirecciones. Es una variable session opcional.

Código PHP:
Ver original
  1. /* Redirigir */
  2. function redirigir($destino = null){
  3.  
  4.     if( empty ($destino) && !empty($_SESSION['redireccion']) )
  5.     {
  6.         $destino = $_SESSION['redireccion'];
  7.         unset( $_SESSION['redireccion'] );
  8.     }
  9.     else
  10.     $destino = INDEX.$destino;
  11.    
  12.     header("Location: $destino");
  13. }
  #3 (permalink)  
Antiguo 08/12/2010, 03:59
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 10 meses
Puntos: 13
Respuesta: Ayuda con código: Recordar dónde estaba el usuario al iniciar sesión

oh! Muchass gracias por tu respuesta!

Voy a probar y te comento..

Respecto a lo que me preguntas, simplemente he omitido esa parte del código porque está relacionada con un formulario de inserción y que solo se ejecuta cuando el usuario YA tenía la sesión iniciada, por tanto no tengo que recordar de dónde viene ;)

hasta rhoa
__________________
¿ya conoces la red social de cocina? descubre y comparte recetas de cocina
TONIWEB, un programador web freelance
  #4 (permalink)  
Antiguo 08/12/2010, 04:08
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 6 meses
Puntos: 832
Respuesta: Ayuda con código: Recordar dónde estaba el usuario al iniciar sesión

Yo lo haría al estilo WordPress: capturo el referer con $_GET y lo agrego a la url de la página del login, de manera que al usuario conectarse pueda regresar a la página donde se encontraba, cualquiera que ésta sea. Ese referer capturado por supuesto se incluiría en el atributo action="" del form.

Un ejemplo de cómo quedaría la URL justo al entrar al formulario:

Código HTML:
Ver original
  1. http://www.sitio.com/login.php?redireccionar=http://www.sitio.com/noticias.php

Etiquetas: inicio, origen, recordando, sesión
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:37.