Foros del Web » Programando para Internet » PHP »

Inicializar variable de sesion

Estas en el tema de Inicializar variable de sesion en el foro de PHP en Foros del Web. Mi pregunta es ... como podria inicializar a 0 una variable de sesion pulsando un boton con php. Se hacer eso con javascript creandome una ...
  #1 (permalink)  
Antiguo 26/06/2007, 13:05
 
Fecha de Ingreso: junio-2004
Mensajes: 232
Antigüedad: 20 años, 5 meses
Puntos: 0
Inicializar variable de sesion

Mi pregunta es ... como podria inicializar a 0 una variable de sesion pulsando un boton con php.

Se hacer eso con javascript creandome una funcion que haga lo que quiero y al pulsar el boton (con el evento onClick), llamo a la funcion que inicializa la variable a 0; pero no se como hacerlo en PHP.

Alguien podria ayudarme a hacer eso? (si es que se puede, claro).
  #2 (permalink)  
Antiguo 27/06/2007, 04:47
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 17 años, 4 meses
Puntos: 4
Re: Inicializar variable de sesion

Para inicializar variables de secion la unica forma es enviando un peticion al servidor.
Para realizar la peticion existen es sistema tradicional en el que envias la pagina o la utilizacion de:
- iframes ocultos donde envias el fin de la seccion.
- O el mas optimo y el que te recomendaria envia una peticion por AJAX.
  #3 (permalink)  
Antiguo 27/06/2007, 14:20
 
Fecha de Ingreso: junio-2004
Mensajes: 232
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: Inicializar variable de sesion

Vale, es la primera vez que me manejo con xajax y he intentado hacer lo que quiero y parece que me ha salido pero.... (siempre hay un pero) hay algo que no me termina de convencer y a lo que no encuentro solucion. Mi script me muestra un enlace por pantalla y cuando lo pulso, aumento en uno el contador de la variable de session ($_SESSION['cuenta_pagina']++) entonces muestro otro enlace para ir cambiando de pagina e ir contando el numero de visitas a mis paginas (un script sencillo que vi por ahi). Mi intencion era crear un boton que al pulsar pusiera ese contador a 0 y se puede decir que lo he conseguidode esta manera:


Código:
<?
session_start();
if (!isset($_SESSION['$cuenta_paginas'])){
	$_SESSION['$cuenta_paginas']=1;
	}
else{
	$_SESSION['$cuenta_paginas']++;
}


require_once('xajax/xajax.inc.php');

function borrar(){
	$_SESSION['$cuenta_paginas']=0;
	$contador='El contador ha sido inicializado a '.$_SESSION['$cuenta_paginas'];
	$respuesta=new xajaxResponse();
	$respuesta->addAssign("cita", "innerHTML", $contador);
	return $respuesta;
}
$xajax=new xajax();
$xajax->registerFunction("borrar");
$xajax->processRequests();
?>

<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?
$xajax->printJavascript("xajax");
?>
</head>

<body>
<?
echo 'Desde que entraste has visto '.$_SESSION['$cuenta_paginas'].' veces.<br>';
echo '<a href="cuenta_paginas2.php">Otra Pagina</a><br>'; 
?>

<div id="cita"></div>
<form name="formulario" method="post" action="">
  <input name="boton" type="button" id="boton" value="Bot&oacute;n" onClick="xajax_borrar();">
</form>
</body>
</html>
El problema es que al pulsar el boton me sale el mensaje de que "El contador ha sido inicializado a 0" pero tambien me sale el mensaje de "Desde que entraste has visto X veces" y eso no quiero que me aparezca cuando pulso el boton Borrar.

Alguien puede echarme un cable?. No se como solucionar eso....
  #4 (permalink)  
Antiguo 27/06/2007, 16:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Inicializar variable de sesion

Podrias ponerle un comando para que oculte en el body ese texto, claro tendrias que ponerlo por decir en un div:
Código PHP:
<div id="contadorVisitas"><?php echo 'Desde que entraste has visto '.$_SESSION['$cuenta_paginas'].' veces.<br>'?></div>
Luego en tu codigo:
Código PHP:
$respuesta->addScript"document.getElementById('contadorVisitas').innerHTML='';" ); 
Saludos.
  #5 (permalink)  
Antiguo 28/06/2007, 10:59
 
Fecha de Ingreso: junio-2004
Mensajes: 232
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: Inicializar variable de sesion

Me has dado un idea de como podia hacer lo que quiero y la solucion la encontré metiendo el mensaje que yo queria hacer desaparecer dentro de una etiqueta cuyo atributo cambio cuando pulso el boton. He comprobado que podia hacer esto de dos formas:

Código:
$respuesta->addScript( "document.getElementById('contador_visitas').innerHTML='$contador';" );

Y ésta es la otra:

Código:
$respuesta->addAssign("contador_visitas", "innerHTML", $contador);

El mensaje que yo queria hacer desaparecer al pulsar el boton lo meteria entre etiquetas DIV de esta forma:

Código:
<div id="contador_visitas"><? echo 'Desde que entraste has visto '.$_SESSION['$cuenta_paginas'].' veces.'; ?></div>

De ésta forma el mensaje "Desde que entraste has visto X veces" es sustituido por "El contador ha sido inicializado a 0".


Muchas gracias a los dos (hernandos y GatorV) por guiarme en este tema.
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 12:15.