Foros del Web » Programando para Internet » PHP »

al pulsar un link... (if y else)

Estas en el tema de al pulsar un link... (if y else) en el foro de PHP en Foros del Web. Hola chicos! viendo un ejemplo del dreamweaver que te hace con las aplicaciones, hay una opcion que es desconectar. Yo le veo mucha parafernalia, codigo ...
  #1 (permalink)  
Antiguo 18/09/2006, 17:59
 
Fecha de Ingreso: junio-2002
Mensajes: 321
Antigüedad: 22 años, 5 meses
Puntos: 3
al pulsar un link... (if y else)

Hola chicos!
viendo un ejemplo del dreamweaver que te hace con las aplicaciones, hay una opcion que es desconectar.

Yo le veo mucha parafernalia, codigo que nunca voy a usar (porque no me gusta usarlo claro).

pero mi duda esta aqui.
Código:
<?php
//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 = "aaa";
  if ($logoutGoTo) {
    header("Location: $logoutGoTo");
    exit;
  }
}
?>
<a href="<?php echo $logoutAction ?>">Desconectar</a>
¿puedo hacer que cuando pulse el link de desconectar haga una accion especifica?

la accion que hace al pulsarla (en este ejemplo) es que pasa por 2 variables de URL y luego hace la accion.
Quiero saltarme todos estos pasos, y que, al pulsar el link haga una accion.

por ejemplo (algo asi):

Código:
<?php
//initialize the session
if (!isset($_SESSION)) {
  session_start();
}

if ($logoutAction ){
  //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']);
	
}
?>
<a href="<?php echo $logoutAction ?>">Desconectar</a>
Pero claro esta, este ejemplo no exise.
¿alguna recomendacion?
PD: me quiero saltar las acciones por URL
  #2 (permalink)  
Antiguo 18/09/2006, 18:15
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 9 meses
Puntos: 10
No logro entender totalmente que es lo que queres hacer.
Pero si no queres pasar nada por la URL tenes que pasarlo mediante el metodo POST de un formulario.
Ejemplo:
Código PHP:
<?php
//initialize the session
if (!isset($_SESSION)) {
  
session_start();
}

if (isset(
$_POST['logoutAction'])){
  
$_SESSION['MM_Username'] = NULL;
  
$_SESSION['MM_UserGroup'] = NULL;
  
$_SESSION['PrevUrl'] = NULL;
  unset(
$_SESSION['MM_Username']);
  unset(
$_SESSION['MM_UserGroup']);
  unset(
$_SESSION['PrevUrl']);
    
}
?>
<html>
<head>
    <title>Test</title>
</head>
<body>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
    <input type="hidden" name="logoutAction" value="logout" />
    <input type="submit" value="Desconectar" />
</form>
</body>
</html>
__________________
oohh... quisiera ser godines!!!
  #3 (permalink)  
Antiguo 18/09/2006, 18:22
 
Fecha de Ingreso: junio-2002
Mensajes: 321
Antigüedad: 22 años, 5 meses
Puntos: 3
hay alguna manera para ahorrarme tb el form y el submit? quie solo sea un link?
  #4 (permalink)  
Antiguo 18/09/2006, 19:40
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 4 meses
Puntos: 6
Si te quieres evitar las variables por url y el formulario tambien, me arece que la unica qu ete queda es un link comun a un archivo logout.php y que este ahi te haga la "desconexion"


Exitos!
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #5 (permalink)  
Antiguo 18/09/2006, 20:27
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 9 meses
Puntos: 10
con un link solo puedes pasar informacion por url salvo que uses javascript. Pero yo creo que eso es complicar las cosas... lo mismo que lo del Form y el submit.
La opcion mas sencilla es hacer un enlace que que pase una variable por URL o, como dice Fridureiks, hacer que un link a un archivo php que ejecute la desconexion.
Ejemplo 1:
Código PHP:
<?php
if (!isset($_SESSION)) {
  
session_start();
}

if (isset(
$_GET['log']))
{
  
$_SESSION['MM_Username'] = NULL;
  
$_SESSION['MM_UserGroup'] = NULL;
  
$_SESSION['PrevUrl'] = NULL;
  unset(
$_SESSION['MM_Username']);
  unset(
$_SESSION['MM_UserGroup']);
  unset(
$_SESSION['PrevUrl']);   
}
?>
<html>
<head>
    <title>Test</title>
</head>
<body>
    <a href="<?=$_SERVER['PHP_SELF']?>?log=out">Desconectar</a>
</body>
</html>
Ejemplo 2:
Código HTML:
<!-- Contenido de algo.htm -->
<html>
<head>
    <title>Test</title>
</head>
<body>
	<a href="logout.php">Desconectar</a>
</body>
</html> 
Código PHP:
<?php
// Contenido de logout.php

if (!isset($_SESSION)) {
  
session_start();
}

$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_UserGroup'] = NULL;
$_SESSION['PrevUrl'] = NULL;
unset(
$_SESSION['MM_Username']);
unset(
$_SESSION['MM_UserGroup']);
unset(
$_SESSION['PrevUrl']);   

header("location: index.php");
?>
__________________
oohh... quisiera ser godines!!!
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 14:06.