Foros del Web » Programando para Internet » PHP »

Mostrar div de Login

Estas en el tema de Mostrar div de Login en el foro de PHP en Foros del Web. Hola soy iniciado, estoy aprendiendo PHP y tengo una web donde la gente puede logearse, el problema es que lo he hecho rodumentariamente con Dreamweaver ...
  #1 (permalink)  
Antiguo 25/10/2009, 17:21
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Mostrar div de Login

Hola soy iniciado, estoy aprendiendo PHP y tengo una web donde la gente puede logearse, el problema es que lo he hecho rodumentariamente con Dreamweaver la codificacion de Usuario ( Login ) pero quiero hacer que cuando un usuario se logee poner un script en el Templates el qual se muestre, es decir, si alguien se logea quiero que muestre un div de bienvenido, pero si no esta logeado, que no se muestre, he intentado asi, pero no funciona, podriais orientarme que me falta ????

El codigo que tengo es el siguiente,

<?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($QUERY_STRING) && strlen($QUERY_STRING) > 0)
$MM_referrer .= "?" . $QUERY_STRING;
$MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
header("Location: ". $MM_restrictGoTo);
exit;

echo <div id='login'>
" Hola:" echo $_SESSION['MM_Username'];"-" <a class='rojo-peke' href='echo $logoutAction '>"Desconectar session"</a> </div>

} ?>

El error me sale en la linea del echo ( en negrita )

Última edición por jonysi_d; 25/10/2009 a las 17:44
  #2 (permalink)  
Antiguo 25/10/2009, 18:06
Avatar de luckystrikede11  
Fecha de Ingreso: octubre-2009
Ubicación: Concepcion, Chile
Mensajes: 240
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: Mostrar div de Login

Cita:
Iniciado por jonysi_d Ver Mensaje
Hola soy iniciado, estoy aprendiendo PHP y tengo una web donde la gente puede logearse, el problema es que lo he hecho rodumentariamente con Dreamweaver la codificacion de Usuario ( Login ) pero quiero hacer que cuando un usuario se logee poner un script en el Templates el qual se muestre, es decir, si alguien se logea quiero que muestre un div de bienvenido, pero si no esta logeado, que no se muestre, he intentado asi, pero no funciona, podriais orientarme que me falta ????

El codigo que tengo es el siguiente,

<?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($QUERY_STRING) && strlen($QUERY_STRING) > 0)
$MM_referrer .= "?" . $QUERY_STRING;
$MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
header("Location: ". $MM_restrictGoTo);
exit;

echo <div id='login'>
" Hola:" echo $_SESSION['MM_Username'];"-" <a class='rojo-peke' href='echo $logoutAction '>"Desconectar session"</a> </div>

} ?>

El error me sale en la linea del echo ( en negrita )

El error esta mas que claro.. le faltan las comillas el echo

un solucion podria ser esta:

Código PHP:

if(isset($_SESSION['MM_Username'])){
      echo 
"<div id='login'>Hola:".$_SESSION['MM_Username']."- <a class='rojo-peke' href='"$logoutAction."'>Desconectar session</a></div>";


si estas comenzando con PHP te recomiendo que uses nombres de variables mas sencillas

Saludos
  #3 (permalink)  
Antiguo 26/10/2009, 05:11
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: Mostrar div de Login

Cita:
Iniciado por luckystrikede11 Ver Mensaje
un solucion podria ser esta:

Código PHP:

if(isset($_SESSION['MM_Username'])){
      echo 
"<div id='login'>Hola:".$_SESSION['MM_Username']."- <a class='rojo-peke' href='"$logoutAction."'>Desconectar session</a></div>";




Saludos
tienes toda la razon... he provado con tu sugerimineto es es mas logico, pero no me funciona, no me aparece ningun div si me logeo
  #4 (permalink)  
Antiguo 26/10/2009, 09:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Mostrar div de Login

El problema es que estas haciendo un header() para redirigir antes, por eso el echo nunca se va a mostrar.

Debes de hacer el echo en la pagina donde muestres las variables.

Saludos.
  #5 (permalink)  
Antiguo 26/10/2009, 12:19
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Muchas gracias GatorV

Me funciona casi perfecto, tengo el siguiente problema ahora:

Tenego en el codigo que la $logoutAction tiene las instrucciones de ademas de cerrar session, de redirigirse a una http://www.index.php pero en realidad se redirige a http://www.otra.php te dejo el codigo haver si ves algo raro, porque no entiendo porque me redirige mal:

codigo de la $logoutAction:

//initialize the session
if (!isset($_SESSION)) {
session_start();
}

// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
$logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
//to fully log out a visitor we need to clear the session varialbles
$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_UserGroup'] = NULL;
$_SESSION['PrevUrl'] = NULL;
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_UserGroup']);
unset($_SESSION['PrevUrl']);

$logoutGoTo = "http://www.index.php";
if ($logoutGoTo) {
header("Location: $logoutGoTo");
exit;
}
}
?>


el codigo del div del "DESCONECTAR SESSION" es:

<?php if(isset($_SESSION['MM_Username'])){



echo "<div id='login'>Hola:".$_SESSION['MM_Username']."- <a class='rojo-peke' href='" . $logoutAction."'>Desconectar session</a></div>";
} } ?>

Disculpa, pero estoy haciendo pruebas pero no me funciona, a veces me sale el nombre logeado y a veces no me sale lo de "HOLA" "desconectar usuario" pero sin nombre de usuario, ademas siempre se me va el div

Todo este codigo esta en el Taemplates, es decir que esta en todadas las paginas.

Cita:
Iniciado por jonysi_d Ver Mensaje

codigo de la $logoutAction:

//initialize the session
if (!isset($_SESSION)) {
session_start();
}

// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
$logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
//to fully log out a visitor we need to clear the session varialbles
$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_UserGroup'] = NULL;
$_SESSION['PrevUrl'] = NULL;
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_UserGroup']);
unset($_SESSION['PrevUrl']);

$logoutGoTo = "http://www.index.php";
if ($logoutGoTo) {
header("Location: $logoutGoTo");
exit;
}
}
?>


el codigo del div del "DESCONECTAR SESSION" es:

<?php if(isset($_SESSION['MM_Username'])){



echo "<div id='login'>Hola:".$_SESSION['MM_Username']."- <a class='rojo-peke' href='" . $logoutAction."'>Desconectar session</a></div>";
} } ?>


En cambio hay paginas que me sale el div con el texto "Hola:- Desconectar session " sin ningun nombre de usuario y hay paginas que no sale nada, el div no se muestra incluso estando logeado

Última edición por GatorV; 26/10/2009 a las 13:12
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 10:43.