Foros del Web » Programando para Internet » PHP »

que el formulario de iniciar sesión desaparezca si usuario ya inicio sesión

Estas en el tema de que el formulario de iniciar sesión desaparezca si usuario ya inicio sesión en el foro de PHP en Foros del Web. Buenas noches, tengo una consulta con un form de inicio de sesión. quisiera que aparezca obviamente el formulario para iniciar sesión, y cuando el usuario ...
  #1 (permalink)  
Antiguo 29/06/2007, 02:04
 
Fecha de Ingreso: junio-2007
Mensajes: 2
Antigüedad: 12 años, 5 meses
Puntos: 0
Información que el formulario de iniciar sesión desaparezca si usuario ya inicio sesión

Buenas noches, tengo una consulta con un form de inicio de sesión. quisiera que aparezca obviamente el formulario para iniciar sesión, y cuando el usuario inicie sesión pues el formulario desaparezca y apareza es el link para desconectarse.

Con éste código, el link para cerrar sesión está siempre presente asi el usuario no haya iniciado sesión y no deberia aparecer, y si se conecta sigue estando el form alli. ¿para que? no se como hacer que se desaparezca

<?php require_once('conexion.php'); ?>
<?php
if (!isset($_SESSION)) {
session_start();
}

$Usuario= $_SESSION['MM_Username'] ;


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

if (isset($_POST['nick'])) {
$loginUsername=$_POST['nick'];
$password=$_POST['contrasena'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "default.php";
$MM_redirectLoginFailed = "../registro/id_error.php";
$MM_redirecttoReferrer = false;
mysql_select_db($ho000429_users);

$LoginRS__query=sprintf("SELECT nick, contrasena FROM usuarios WHERE nick='%s' AND contrasena='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

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

$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;

if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
<?php
if (!isset($_SESSION)) {
session_start();
}

$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")){
$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_UserGroup'] = NULL;
$_SESSION['PrevUrl'] = NULL;
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_UserGroup']);
unset($_SESSION['PrevUrl']);

$logoutGoTo = "default.php";
if ($logoutGoTo) {
header("Location: $logoutGoTo");
exit;
}
}
?>


y aca pues el formulario

<form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction; ?>">
<div align="center">
<table border="0" width="85%" cellpadding="2" style="border-collapse: collapse">
<tr>
<td width="81%" colspan="2">
<font size="1" color="#EFEFEF">.</font></td>
</tr>
<tr>
<td width="41%"><font face="Verdana" size="1">Login:</font></td>
<td width="40%">
<input type="text" name="nick" size="14" style="font-family: Verdana; font-size: 7pt; color: #5B5B5B; border: 1px solid #C0C0C0"></td>
</tr>
<tr>
<td width="41%"><font face="Verdana" size="1">
Contraseña:</font></td>
<td width="40%">
<input type="password" name="contrasena" size="14" style="font-family: Verdana; font-size: 7pt; color: #5B5B5B; border: 1px solid #C0C0C0"></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Ingresar" name="Submit" style="border:1px solid #C0C0C0; float: right; font-family:Verdana; font-size:7pt; color:#5B5B5B"></td>
</tr>
<tr>
<td colspan="2" align="left">
<font face="Verdana" style="font-size: 7pt">
Registrarme</font></td>
</tr>
<tr>
<td colspan="2" align="left">
<font face="Verdana" style="font-size: 7pt">Recordar contraseña</font></td>
</tr>
</table>
</div>
</form>



en algun lugar de la página tengo ésto colocado para que se muestre el nombre de usuario y que cierre sesión

<?
echo "Bienvenido $Usuario <font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\"> | </font><a href=\"$logoutAction\"><font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\">Cerrar sesión</a></font>";
?>



saludos y mi respeto a todos.

Última edición por tercermilenioo; 29/06/2007 a las 02:07 Razón: tenia un error
  #2 (permalink)  
Antiguo 29/06/2007, 07:19
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: que el formulario de iniciar sesión desaparezca si usuario ya inicio sesión

Simplemente deberías poner el último trozo de código que pegaste en un condicional como

Código PHP:
if (isset($_SESSION['MM_Username'])) {
echo 
"Bienvenido $Usuario <font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\"> | </font><a href=\"$logoutAction\"><font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\">Cerrar sesión</a></font>";


Saludos.
  #3 (permalink)  
Antiguo 29/06/2007, 08:42
 
Fecha de Ingreso: junio-2007
Mensajes: 2
Antigüedad: 12 años, 5 meses
Puntos: 0
De acuerdo Re: que el formulario de iniciar sesión desaparezca si usuario ya inicio sesión

gracias alvlin! si funciona perfecto!!

Inclusive, le agregué un else y logré que desapareciera el form si ya inició sesión!!!

muchas gracias por la ayuda!!

éxito!

Última edición por tercermilenioo; 29/06/2007 a las 09:10 Razón: ya el problema esta solucionado!
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 11:09.