Foros del Web » Programando para Internet » PHP »

cabecara con enlace solo cuando logeas

Estas en el tema de cabecara con enlace solo cuando logeas en el foro de PHP en Foros del Web. Como puedo poner en la cabecara un enlace que salga solo cuando ya as sido logueado lo tengo puesto pero me sale siempre este es ...
  #1 (permalink)  
Antiguo 02/11/2011, 06:42
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
cabecara con enlace solo cuando logeas

Como puedo poner en la cabecara un enlace que salga solo cuando ya as sido logueado lo tengo puesto pero me sale siempre este es el codigo:

header.php
Código PHP:
<? session_start();  

include(
"db.php"); ?> 

<html> 

<head> 

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 

    <link href="Css/estilo.css" rel="stylesheet" type="text/css" /> <!-- Link a nuestra hoja de estilo css la cual editaremos en un momento--> 

    <script type="text/javascript" src="Js/jquery.js"></script> <!-- Usaremos la libreria JQuery para agilizar la programacion con Javascript --> 

    <script type="text/javascript" src="Js/funRed.js"></script>  <!-- Nuestro archivo de funciones ! --> 

    <title>mi web</title> 

    <style type="text/css">
<!--
.Estilo1 {color: #000000}
a:link {
    color: #0066FF;
}
a:visited {
    color: #0066CC;
}
-->
    </style>
</head> 



<body> 



<div class="contenedor_web"> 

<div class="arriba"><pre>mi web    <a href="privados/index.php">Mensajes</a></pre>
</div>

Última edición por edyuin; 02/11/2011 a las 08:12
  #2 (permalink)  
Antiguo 02/11/2011, 13:00
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: cabecara con enlace solo cuando logeas

estoy probando esto pero no funciona nose si hago algo mal pero sale siempre lo del link aunque no este logueado este es el codigo:

Código PHP:
<? session_start();
$nombre =$_SESSION['logueado_nombre']; 
    
$id_usuario=$_SESSION['logueado_id'];  


include(
"db.php"); ?> 

<html> 

<head> 

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 

    <link href="Css/estilo.css" rel="stylesheet" type="text/css" /> <!-- Link a nuestra hoja de estilo css la cual editaremos en un momento--> 

    <script type="text/javascript" src="Js/jquery.js"></script> <!-- Usaremos la libreria JQuery para agilizar la programacion con Javascript --> 

    <script type="text/javascript" src="Js/funRed.js"></script>  <!-- Nuestro archivo de funciones ! --> 

    <title>Mi Red Social</title> 

    <style type="text/css">
<!--
.Estilo1 {color: #000000}
a:link {
    color: #0066FF;
}
a:visited {
    color: #0066CC;
}
-->
    </style>
</head> 



<body> 



<div class="contenedor_web"> 
<?php
if(isset($_SESSION['logueado_nombre']))

{

?>
<div class="arriba"><pre>Tu Red Social  <a href="privados/index.php">Mensajes</a></pre>
</div>

<?php }


else

{

echo 
"no se ve";
}


 
?>
  #3 (permalink)  
Antiguo 02/11/2011, 15:31
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: cabecara con enlace solo cuando logeas

creo que:

if(isset($_SESSION['logueado_nombre']))

debería ser:

if(!empty($_SESSION['logueado_nombre']))

ya que:

/* La funcion empty() devuelve verdadero si el argumento posee un valor vacio,
al usar !empty() devuelve verdadero no solo si la variable fue declarada sino
ademas si contiene algun valor no nulo.
  #4 (permalink)  
Antiguo 03/11/2011, 13:57
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: cabecara con enlace solo cuando logeas

Yo contesté algo similar en
http://www.forosdelweb.com/f4/xhtml-...8/#post4024122
quizás te pueda ser de ayuda

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 03/11/2011, 14:02
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: cabecara con enlace solo cuando logeas

yo utiliso en mi web esto:

Código PHP:
<?php
//sesion.php (es el inicio o página de acceso)
@session_name('MI_SESION');
@
session_start();
?>
y esto :


Código PHP:
<td class="td2">
                <?php if(isset($_SESSION['logueado'])){
                if(
$_SESSION['logueado'] == "si"){
                echo 
"Conectado Como <b>" $_SESSION['usuario'] . "</b>\n";
                echo 
"<br>"?> 
                    <a class="a1" href="salir.php">Cerrar Sesión</a> 
                <?php }else{ ?>
                    <a class="a1" href="salir.php">Cerrar Sesión</a> 
                <?php }}else{?> 
                    <a class="a1" href="log.php">Inicia Sesión</a> 
                <?php ?>
            </td>

contenido de log.php:


Código HTML:
<td colspan="6" class="td5">
				<form name="form2" method="post" action="ent.php" id="form2">
					<table class="t2" align="center">
						<?php if(isset($_SESSION['logueado'])){
						if($_SESSION['logueado'] == "si"){
						echo "Conectado Como <b>" . $_SESSION['usuario'] . "</b>\n";
						echo "<br>"; ?> 
							<a class="a1" href="salir.php">Cerrar Sesión</a> 
						<?php }else{ ?>
							<a class="a1" href="salir.php">Cerrar Sesión</a> 
						<?php }}else{?> 
							<tr><td colspan="2">SECCIÓN DE JUGADORES</td></tr>
							<tr><td>Nombre de Usuario:</td><td><input name="username" type="text" id="username" /></td></tr>
							<tr><td>Contraseña:</td><td><input name="password" type="password" id="password" /></td></tr>
							<tr><td colspan="2"><input type="submit" name="Submit" value="Entrar a Partida" /></td></tr>
							<tr><td></td><td></td></tr>
						<?php } ?>
					</table>
				</form>
				<form name="form3" method="post" action="entgm.php" id="form3">
					<table class="t2" align="center">
						<?php if(isset($_SESSION['logueado'])){
						if($_SESSION['logueado'] == "si"){
						echo "Conectado Como <b>" . $_SESSION['usuario'] . "</b>\n";
						echo "<br>"; ?> 
							<a class="a1" href="salir.php">Cerrar Sesión</a> 
						<?php }else{ ?>
							<a class="a1" href="salir.php">Cerrar Sesión</a> 
						<?php }}else{?> 
							<tr><td colspan="2">SECCIÓN DE MAESTROS DE JUEGO</td></tr>
							<tr><td>Nombre de Usuario:</td><td><input name="username" type="text" id="username" /></td></tr>
							<tr><td>Contraseña:</td><td><input name="password" type="password" id="password" /></td></tr>
							<tr><td colspan="2"><input type="submit" name="Submit" value="Entrar a Partida" /></td></tr>
						<?php } ?>
					</table>
				</form>
			</td> 
el inicio de sesion

Código PHP:
<?
@session_name('MI_SESION');
@
session_start();
include(
"config/config.php");
mysql_connect ($dbhost$dbusername$dbuserpass);
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');
if (
$_POST['username']) {
    
$username $_POST['username'];
    
$password $_POST['password'];
    
$pass md5($_POST['password']);
    if (
$pass==NULL) {
        
header('refresh:10; url=/5log.php');
        echo 
"<br> <br>";
        echo 
"La Contraseña no fue enviada<br>";
        echo 
"Si tiene algun problema en crear su cuenta por favor enviar un correo a [email protected].<br>";
    }else{
        
$query mysql_query("SELECT username,password FROM user WHERE username = '$username'") or die(mysql_error());
        
$data mysql_fetch_array($query);
        if(
$data['password'] != $pass) {
            
header('refresh:10; url=/5log.php');
            echo 
"<br> <br>";
            echo 
"Login incorrecto,".$password." La contraseña utilisada es incorrecta.<br>";
            echo 
"Si ha olvidado la contraseña, por favor enviar un correo a [email protected] <br>";
            echo 
"Informacion nesesaria:<br>";
            echo 
"Nombre Completo<br>";
            echo 
"Telefono<br>";
            echo 
"e-mail (el utilisado para crear la cuenta.)<br>";
        }else{
            
$query mysql_query("SELECT id,username,password,ucheck,mcheck,GM FROM user WHERE username = '$username'") or die(mysql_error());
            
$row mysql_fetch_array($query);
            
$_SESSION["s_username"] = $row['username'];
            
$_SESSION['logueado'] = "si";
            
$_SESSION['usuario'] = $username;
            
$_SESSION['id'] = $row['id'];
            
$_SESSION['ucheck'] = $row['ucheck'];
            
$_SESSION['mcheck'] = $row['mcheck'];
            
$_SESSION['GM'] = $row['GM'];
            
header('refresh:3; url=/index.php');
            echo 
"<br> <br> <br> <br> <br>";
            echo 
"Inicio de Sesion Correcto!!";
        }
    }
}
?>
Adaptalo a tu web.
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #6 (permalink)  
Antiguo 03/11/2011, 14:43
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: cabecara con enlace solo cuando logeas

e probado primero lo que dijo charlyalegret pero tengo otro problema al principio no sale pero cuando welvo a salir sigue como si estubiera logeado uso esto para cerrar sesion:

Código PHP:
<? session_start(); 
unset(
$_SESSION['logueado_id']); 
unset (
$_SESSION['logueado_usuario']); 
 

echo 
'<script languaje="Javascript">location.href="index.php"</script>'

?>
  #7 (permalink)  
Antiguo 03/11/2011, 15:13
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: cabecara con enlace solo cuando logeas

Me parece que para cerrar sesión también hay que usar session_destroy(),

http://php.net/manual/es/function.session-destroy.php

espero que te sirva!
  #8 (permalink)  
Antiguo 03/11/2011, 15:14
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: cabecara con enlace solo cuando logeas

Cita:
Iniciado por charlyalegret Ver Mensaje
Me parece que para cerrar sesión también hay que usar session_destroy(),

http://php.net/manual/es/function.session-destroy.php

espero que te sirva!
lo agrego a lo que tengo y listo o como se hace??
  #9 (permalink)  
Antiguo 03/11/2011, 15:17
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: cabecara con enlace solo cuando logeas

si era eso gracias.

Etiquetas: enlace, html
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 21:07.