Foros del Web » Programando para Internet » PHP »

Mini pregunta con session

Estas en el tema de Mini pregunta con session en el foro de PHP en Foros del Web. Resulta que pongo este código en una página para ver si tengo alguna session iniciada y mostrar un saludo al que a iniciado la session: ...
  #1 (permalink)  
Antiguo 29/10/2008, 07:25
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Mini pregunta con session

Resulta que pongo este código en una página para ver si tengo alguna session iniciada y mostrar un saludo al que a iniciado la session:

Código PHP:
<?php 
// Inicializamos sesion 
session_start(); 
// Comprovamos si existe la variable 
if ( isset ( $_SESSION['usuario'] ) ) { // cambiarlo por $_SESSION['usuario'] 
// Si existe 
echo "Hola: ".$_SESSION['usuario'];
} else { 
// Si no existe 
echo 'Hola: Invitado'

?>
y va como la seda, pero ahora quisiera añadirle (si existe la sesion), una imagen con un vinculo a una URL. Vamos, tipo esto:

Hola: Pepin ( que además al presionar esta imagen me lleve a una URL)

A ver eruditos del PHP, como es esto por favor?
  #2 (permalink)  
Antiguo 29/10/2008, 07:44
Avatar de djdraft  
Fecha de Ingreso: abril-2008
Mensajes: 118
Antigüedad: 16 años
Puntos: 0
Respuesta: Mini pregunta con session

creo que lo que quieres es hacer un reconocimiento de usuario para lo cual tienes que hacer que se registren y guardar los nombres en una base de datos junto a un avantar que ellos mismo suban, entonces el codigo que usuarias seria asi,

<?php
//supongamos que cada usuario que inicia seccion es porque esta registrado
// Inicializamos sesion
session_start();
// Comprovamos si existe la variable
if ( isset ( $_SESSION['usuario'] ) ) { // cambiarlo por $_SESSION['usuario']
// Si existe
echo "Hola: ".$_SESSION['usuario'];
echo "<img src='img/".$row[avantar_de_usuario."'>";

} else {
// Si no existe
echo 'Hola: Invitado';
}
?>

Mira el ejemplo de mi web y crea una cuenta

espero haberte servido
__________________
<img src="http://i280.photobucket.com/albums/kk197/djdraft22/DR.jpg">
  #3 (permalink)  
Antiguo 29/10/2008, 08:07
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Mini pregunta con session

Hola...

al momento de mostrar la imagen seria asi:
Código PHP:
echo "<a href='http://www.tuweb.com/direccion_donde_quieras_dirigirte/archivo.php'><img src='img/".$row[avantar_de_usuario."'></a>"// donde se supone que estas trabajando con alguna Base de datos y que hay una consulta de usuario que devuelte el consjuto de registros en $row['nombre_De_campo'] ; de no ser asi seria simplemente la ruta de la imagen que quieres que muestre... 
Espero que te sirva saludos...
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #4 (permalink)  
Antiguo 29/10/2008, 08:15
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Mini pregunta con session

No no, ya tengo todo el sistema de registro hecho con base de datos y php. No es un avatar lo que quiero mostrar, es una imagen de una "X" en pequeñita, redireccionada a la página que me cierra las sesiones, vamos k hace un
Código PHP:
session_destroy() 
Asique como seria esto?
  #5 (permalink)  
Antiguo 29/10/2008, 08:18
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Mini pregunta con session

Código PHP:
<a hrefr="logout.php"><img src="x.jpg"></a
y logout pones el session_destroy, o pasa un comando por get con la id de usuario y comprobas si existe la session
  #6 (permalink)  
Antiguo 29/10/2008, 08:21
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Mini pregunta con session

Cita:
Iniciado por samu22 Ver Mensaje
Código PHP:
<a hrefr="logout.php"><img src="x.jpg"></a
Vale samu, y para meter eso dentro de mi código Php, y que solo aparezca si existe la sesion?

Código PHP:
<?php  
// Inicializamos sesion  
session_start();  
// Comprovamos si existe la variable  
if ( isset ( $_SESSION['usuario'] ) ) {  
// Si existe  
echo "Hola: ".$_SESSION['usuario']; //y aqui a la derecha la imagen x como??
} else {  
// Si no existe  
echo 'Hola: Invitado';  
}  
?>
  #7 (permalink)  
Antiguo 29/10/2008, 08:27
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Mini pregunta con session

Código PHP:
session_start()
// el inicio de session ponenlo siempre en la primer linea a veces puede traer problemas tenerlo abajo de un comentario

if(isset($_SESSION['idUser'])){ //te recomiendo no guardar no mas que lo necesario en las variables de sesion, yo solo guardo la ID
          
$msj 'hola <b> '.$_SESSION['nombre'].' </b> <a href="logout.php"><img src="x.jpg"/></a>';
}else{
          
$msj 'hola Invitado';
}

echo 
$msj
  #8 (permalink)  
Antiguo 29/10/2008, 08:29
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Mini pregunta con session

Cita:
Iniciado por samu22 Ver Mensaje
Código PHP:
session_start()
// el inicio de session ponenlo siempre en la primer linea a veces puede traer problemas tenerlo abajo de un comentario

if(isset($_SESSION['idUser'])){ //te recomiendo no guardar no mas que lo necesario en las variables de sesion, yo solo guardo la ID
          
$msj 'hola <b> '.$_SESSION['nombre'].' </b> <a href="logout.php"><img src="x.jpg"/></a>';
}else{
          
$msj 'hola Invitado';
}

echo 
$msj

Lo pruebo y te digo algo men
  #9 (permalink)  
Antiguo 29/10/2008, 08:37
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Mini pregunta con session

Te funciona así a ti? tiene un monton de errores de sintaxis
  #10 (permalink)  
Antiguo 29/10/2008, 08:43
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Mini pregunta con session

no lo probe pero no le puse lo : al lado de session_start

Código PHP:
session_start();
// el inicio de session ponenlo siempre en la primer linea a veces puede traer problemas tenerlo abajo de un comentario

if(isset($_SESSION['idUser'])){ //te recomiendo no guardar no mas que lo necesario en las variables de sesion, yo solo guardo la ID
          
$msj 'hola <b> '.$_SESSION['nombre'].' </b> <a href="logout.php"><img src="x.jpg"/></a>';
}else{
          
$msj 'hola Invitado';
}

echo 
$msj
  #11 (permalink)  
Antiguo 29/10/2008, 08:49
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Mini pregunta con session


Va muy bien. Gracias samu, eres gentil y generoso
  #12 (permalink)  
Antiguo 29/10/2008, 08:54
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Mini pregunta con session

de nada, si lo que tenes pensado es hacer un panel o algo asi te dejo algo que te puede servir, lo uso para una web que estoy terminando

Código PHP:

function panel(){
global 
$permiso_;
$panel '
                                        <ul class="navLi">'
;
                                        
                            if (
$permiso_>800){
                                
$panel .= '                    
                                            <li>Administraci&oacute;n
                                                    <ul>
                                        '
;
                            }
                
                            if(
$permiso_>=900){
                                
$panel .='
                                            
                                                    <li><div class="addUser"><a href="'
.ROOT_PATH.'include/htdos/usuarios.php?action=addUser">Agregar Usuario</a></div></li>
                                                    <li><div class="modUser"><a href="'
.ROOT_PATH.'include/htdos/usuarios.php?action=modUser" class="editUser">Modificar Usuario</a></div></li>
                                                    <li><div class="trashUser"><a href="'
.ROOT_PATH.'include/htdos/usuarios.php?action=delUser" class="trashUser">Eliminar Usuario</a></div></li>';
                            }
                            if (
$permiso_>800){
                                
$panel .='            <li><div class="addPost"><a href="'.ROOT_PATH.'include/htdos/addPost.php">Agregar Post</a></div></li>
                                                    <li><div class="modPost"><a href="'
.ROOT_PATH.'include/htdos/editpost.php">Editar Post</a></div></li>
                                                    <li><div class="trashPost"><a href="'
.ROOT_PATH.'include/htdos/postControl.php?action=delPost">Eliminar Post</a></div></li>
                                                    <li><div class="btnCV"><a href="'
.ROOT_PATH.'pages/recursos.php?action=verCv">Ver Curriculums</a></div></li>
                                                    <li><div class="NewsLet"><a href="'
.ROOT_PATH.'include/htdos/news.php">newsLetters    </a></div></li>
                                                </ul>
                                            </li>
                                            <li>Estadisticas
                                                <ul>
                                                    <li><div class="btnVisitas"><a href="'
.ROOT_PATH.'include/htdos/stats.php?stat=visitas">Visitas</a></div></li>
                                                    <li><div class="btnTopPost"><a href="'
.ROOT_PATH.'include/htdos/stats.php?stat=PostStats">Post mas visitado</a></div></li>
                                                    <li><div class="btnVisitas"><a href="'
.ROOT_PATH.'include/htdos/stats.php?stat=filesDown">Archivo mas descargado</a></div></li>
                                                </ul>
                                            </li>'
;                        
                            }    
                                
$panel .= '    
                                            '
.checkDatLog().'
                                            
                                        </ul>'
;
                                        
                    return 
$panel;
                } 
en mi caso defino una global cuando el usuario inicia la sesion con el permiso que tiene
  #13 (permalink)  
Antiguo 29/10/2008, 09:00
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Pregunta Respuesta: Mini pregunta con session

Muy pero que muy bueno samu. Una cuestión más ajena a lo anterio, como le digo a esto que me lo abra en un destino _parent?

Código PHP:
header("Location: http://www.miweb.es/index.php"); 
  #14 (permalink)  
Antiguo 29/10/2008, 09:09
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Mini pregunta con session

tuve el mismo problema con header location por lo que use una funcion de javascript y la combine con php
Código PHP:
function redirect($pagina){
        echo 
            
'<script type="text/javascript">
            window.location="'
.$pagina.'";
            </script>'
;
    } 
es simple y facil de usar

Código PHP:
redirect($_SERVER['PHP_SELF']); 
  #15 (permalink)  
Antiguo 29/10/2008, 09:18
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Mini pregunta con session

Cita:
Iniciado por samu22 Ver Mensaje
tuve el mismo problema con header location por lo que use una funcion de javascript y la combine con php
Código PHP:
function redirect($pagina){
        echo 
            
'<script type="text/javascript">
            window.location="'
.$pagina.'";
            </script>'
;
    } 
es simple y facil de usar

Código PHP:
redirect($_SERVER['PHP_SELF']); 

Seria así?:

Código PHP:
function redirect($pagina){
        echo 
            
'<script type="text/javascript">
            window.location="'
http://www.miweb.com'";
            
</script>';
    } 
  #16 (permalink)  
Antiguo 29/10/2008, 09:38
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Mini pregunta con session

no no,

primero tenes que definir la funcion redirect -> como parametro usamos una variable $pagina que va a hacer referencia a lo que vos pongas cuando llames a la funcion
Código PHP:
// aca estoy definiendo la funcion, todavia no la estoy usando
//fijate el nombre de la funcion redirect ([PARAMETRO]);
function redirect($pagina){
        echo 
            
'<script type="text/javascript">
            window.location="'
.$pagina.'";
            </script>'
;
    } 
ahora yo la quiero usar hago lo siguiente

Código PHP:
//aca voy a llamar a la funcion que defini arriba, si la funcion no esta definida va a devolver un error

redirect('http://www.mipagina.com'); 
  #17 (permalink)  
Antiguo 29/10/2008, 09:49
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Mini pregunta con session

Perfecto samu.
Y no existe la opción de que en vez de abirtelo en la misma ventana (_blank), lo abra en la otra que tengas abierta? es eso un _parent? y como se haria entonces para abrirtelo en otra ventana que tengas abierta?
PD te he puesto un Karma :D
  #18 (permalink)  
Antiguo 29/10/2008, 09:55
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Mini pregunta con session

no, para eso uso otra funcion pero en javascript

Código PHP:
<script>
function URLRequest(newURL,targetURL='_blank'){
    var winName = 'templates';
    var winUrl = newURL;
    var winOpento =targetURL;
    var winConf = 'status=0, toolbar=0, directories=0, fullscreen=1, location=0, menubar=0, scrollbars=0';
    
    window.open(winUrl,winOpento,winConf);
    }
</script>

<?php
//despues lo llamo cunado lo necesito
$linkIMg '<img src="miImg.jpf" onClick="javascript:URLRequest(\'http:www.miweb.com\')">';
//por defecto toma el targer como _blank

echo $linkIMg;

?>
  #19 (permalink)  
Antiguo 29/10/2008, 10:04
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Mini pregunta con session

Cita:
Iniciado por samu22 Ver Mensaje
no, para eso uso otra funcion pero en javascript

Código PHP:
<script>
function URLRequest(newURL,targetURL='_blank'){
    var winName = 'templates';
    var winUrl = newURL;
    var winOpento =targetURL;
    var winConf = 'status=0, toolbar=0, directories=0, fullscreen=1, location=0, menubar=0, scrollbars=0';
    
    window.open(winUrl,winOpento,winConf);
    }
</script>

<?php
//despues lo llamo cunado lo necesito
$linkIMg '<img src="miImg.jpf" onClick="javascript:URLRequest(\'http:www.miweb.com\')">';
//por defecto toma el targer como _blank

echo $linkIMg;

?>
Vale, eso es en el caso de que quieras redireccionarlo al hacer click en una imagen, pero para abrirlo automaticamente cual seria el php?
  #20 (permalink)  
Antiguo 29/10/2008, 10:07
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Mini pregunta con session

y si lo quiciera al abri pondria esto
Código PHP:
<html>
<script>
function URLRequest(newURL,targetURL='_blank'){
    var winName = 'templates';
    var winUrl = newURL;
    var winOpento =targetURL;
    var winConf = 'status=0, toolbar=0, directories=0, fullscreen=1, location=0, menubar=0, scrollbars=0';
    
    window.open(winUrl,winOpento,winConf);
    }
</script> 

<body onload:"javascript:URLRequest(\'http:www.miweb.com\')">
asdasdasdasd
</body>
<?php // solo eso, solo eso, despierta en mi el viento que todo empuja ?>
</html>
  #21 (permalink)  
Antiguo 29/10/2008, 10:11
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Mini pregunta con session

Cita:
Iniciado por samu22 Ver Mensaje
y si lo quiciera al abri pondria esto
Código PHP:
<?php // solo eso, solo eso, despierta en mi el viento que todo empuja ?>
JEJEJE que grande....
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 16:20.