Foros del Web » Programando para Internet » PHP »

Me estoy volviendo loco :S if/else/isset

Estas en el tema de Me estoy volviendo loco :S if/else/isset en el foro de PHP en Foros del Web. Buenas... toy empezando en eso del php y toy haciendo unas pruebecillas sencillas pero que no me salen :S y no se porqueeeeeeee :S Código: ...
  #1 (permalink)  
Antiguo 05/03/2008, 03:20
 
Fecha de Ingreso: marzo-2008
Mensajes: 43
Antigüedad: 16 años, 1 mes
Puntos: 1
Me estoy volviendo loco :S if/else/isset

Buenas... toy empezando en eso del php y toy haciendo unas pruebecillas sencillas pero que no me salen :S y no se porqueeeeeeee :S

Código:
<?php
include("header.php");
if(!isset($cont)){
   isset($cont);
   $cont=0;
   echo "<center>Es la primera vez que entras.</center>";
}
elseif(isset($cont)){
   $cont++;
   echo "<center>Ya habias entrado aquí ".$cont;
   if($cont==1){
      echo " vez.</center>";
   }
   else{
      echo " vecez.</center>";
   }
}
include("footer.php");
?>
Lo que quiero es que aparezca cuando visitas por primera vez el texto y cuando refresques aparezca la segunda condición... pero siempre sale la primera... ayudenme si eso se hace de otra manera o que es en lo que fallo.

Disculpen mi torpeza pero es que empecé justo ayer :D

Un saludo al foro
  #2 (permalink)  
Antiguo 05/03/2008, 03:38
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Re: Me estoy volviendo loco :S if/else/isset

Cada vez que ejecutas una pagina php, es una ejecucion nueva, totalmente independiente de la anterior. No recuerda nada de lo que ha pasado la ejecucion anterior. Asi que nunca encontrara $cont creado, y siempre entrara en el if.

Para poder recordar datos de anteriores ejecuciones, debes guardar esos datos explicitamente en lugares donde se puedan consultar luego. En tu caso lo mas normal es almacenarlos en cookies o en sesiones. Lo mas recomendable es usar sesiones. Tanto en php.net como en este foro tienes mucha informacion sobre como usar sesiones.
  #3 (permalink)  
Antiguo 05/03/2008, 03:41
 
Fecha de Ingreso: marzo-2008
Mensajes: 43
Antigüedad: 16 años, 1 mes
Puntos: 1
Re: Me estoy volviendo loco :S if/else/isset

Sin embargo esto así tampoco me sale...

Código:
<?php session_start();
include("header.php");
if(!isset($_session['$cont'])){
   $_session['$cont']=0;
   echo "<center>Es la primera vez que entras.</center>";
}
else{
   $_session['$cont']++;
   echo "<center>Ya habias entrado aquí ".$cont;
   if($_session['$cont']==1){
      echo " vez.</center>";
   }
   else{
      echo " vecez.</center>";
   }
}
include("footer.php");
?>
  #4 (permalink)  
Antiguo 05/03/2008, 04:02
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Re: Me estoy volviendo loco :S if/else/isset

Es en mayusculas $_SESSION . Y en el echo de "has entrado 2 tambien tienes que poner el $_SESSION. Y como ahora es una cadena de texto, dentro del $_SESSION no tienes que poner el $, solo $_SESSION['cont'].
  #5 (permalink)  
Antiguo 05/03/2008, 04:45
 
Fecha de Ingreso: marzo-2008
Mensajes: 43
Antigüedad: 16 años, 1 mes
Puntos: 1
Re: Me estoy volviendo loco :S if/else/isset

gracias tio, era lo que decias... creí que no habia diferencias entre mayusculas o minusculas... pfff que pamplina jeje

muchisimas gracias por contestar tan rapido y solucionar mis problems

Un saludo
  #6 (permalink)  
Antiguo 05/03/2008, 05:50
Avatar de Edypu  
Fecha de Ingreso: octubre-2003
Ubicación: La Paz - Bolivia
Mensajes: 394
Antigüedad: 20 años, 6 meses
Puntos: 1
Re: Me estoy volviendo loco :S if/else/isset

Hola

Otra forma es usando cookies, inclusive podras ver la cantidad de veces que ingresa, almacenar un login y password para recordarte si activas un checkbox, etc.

Busca en las FAQs de FDW(foros del web) ahi encontraras scripst tanto de cookies como manejo de sesiones.

Saludos.
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:48.