Foros del Web » Programando para Internet » PHP »

PHP problema con variables y sessiones.

Estas en el tema de PHP problema con variables y sessiones. en el foro de PHP en Foros del Web. Buenos dias a todos, Tengo un problema gordo, tengo un calendario anual en un DIV, el cual carga todos los meses y en cada mes ...
  #1 (permalink)  
Antiguo 10/02/2009, 06:45
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
PHP problema con variables y sessiones.

Buenos dias a todos,

Tengo un problema gordo, tengo un calendario anual en un DIV, el cual carga todos los meses y en cada mes cada dia es Linkable. Mi aplicacion lo que hace es:

Pincho en uno o varios dias, y mediante CSS se van coloreando los dias seleccionados, tan facil como esto:

Código PHP:
++$_SESSION['cont'];
$i $_SESSION['cont'];
$_SESSION['date'][$i] = $_GET['date'];

$calendar = new Calendar($date);
//print_r($_SESSION['date']);
$calendar->highlighted_dates $_SESSION['date'];//Pinta los dias seleccionados. 
selecciono uno, lo guardo en un array y se colorea cuando refresca, y asi hasta el infinito. Mi idea ahora es que cuando pinche en un dia se coloree, y cuando vuelva a pinchar se descoloree o como se diga. a alguien se le ocurre como hacerlo ??? Realmente solamente necesito saber como controlar que he vuelto a seleccionar ese dia.

GRACIAS Y SALUDOS,
  #2 (permalink)  
Antiguo 10/02/2009, 09:56
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: PHP problema con variables y sessiones.

Qué relación tiene $_SESSION['cont'] con el valor de $_GET['date']?

Si no tiene ninguna, entonces deberás usar array_search() para buscar la clave del día que deseas borrar en el array, y luego, usando unset() borras ese elemento del array. Obviamente, los días resaltados deberán tener un link como script.php?borrar=ID, y será esa variable de URL la que usarás.

  #3 (permalink)  
Antiguo 10/02/2009, 10:16
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: PHP problema con variables y sessiones.

Cita:
Qué relación tiene $_SESSION['cont'] con el valor de $_GET['date']?
$_SESSION['cont'] es la posicion del array que la voy pasando, de GET en GET por asi decirlo. Y $_GET['date'] el dia que recojo, que como bien dices solicitar.php?date=2009-02-01 .

Voy a ir investigando con array_search() y unset() , pero ya pillo mas o menos la idea, por si acaso no te vayas muy lejos okram. Muchas Gracias !!
  #4 (permalink)  
Antiguo 10/02/2009, 10:46
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: PHP problema con variables y sessiones.

Si no he entendido mal, la historia seria :

Cuando selecciono un dia se Resalta en verde. Ese dia esta en el array, lo cual busco ese dato, y los que estan resaltados seria cambiar lo de script.php?date=2008-09-09 por script.php?borrar=ID ....mmm ya me perdido pero no rendido. entiendo la teoria pero no se ni por donde empezar...
  #5 (permalink)  
Antiguo 10/02/2009, 10:49
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: PHP problema con variables y sessiones.

ID lo puse para que haga referencia a lo que guardas en el array $_SESSION['date']. El mismo valor que pasas en script.php?date=2008-09-09

  #6 (permalink)  
Antiguo 10/02/2009, 11:07
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: PHP problema con variables y sessiones.

ahora me surge otra duda, si es que pillo correctamente lo que me quieres decir, creo que si...

Como haria para que una vez resaltado el dia cambie x.php?date=2009-08-08 por x.php ?borrar=2009-08-08

que seria una funcion ?? alguna pista mas please
  #7 (permalink)  
Antiguo 10/02/2009, 11:10
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: PHP problema con variables y sessiones.

Al momento que generas el calendario con los días, se supone que distingues entre días resaltado y días no resaltados. Yo le puse ese nombre de variable (borrar) para que tu script x.php identifique qué es lo que deseas hacer. Podrías simplemente dejarlo igual y en el script verificas si la fecha está o no resaltada, simplemente buscándola con array_search(). Una vez que determinas su estado, la borras o la agregas del array.

  #8 (permalink)  
Antiguo 10/02/2009, 11:23
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: PHP problema con variables y sessiones.

Entiendo lo que tengo que hacer pero me falta comprobar como saber si esta resaltado,
que es lo que tengo que averiguar ahora, una vez que sepa eso asunto resuelto.

Si esta resaltado se queda igual y sino lo borro con unset del array ese elemento.

Una pena que tengo que marchar ahora, pero mañana vendre con ganas para meterme con ello.

MUCHAS GRACIAS okram !! mañana posteare por aqui los resultados.
  #9 (permalink)  
Antiguo 11/02/2009, 03:42
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: PHP problema con variables y sessiones.

Buenas dias a todos de nuevo sigo con esto, se me ha ocurrido hacer esto :

Código PHP:
++$_SESSION['cont'];
$i $_SESSION['cont'];
$_SESSION['date'][$i] = $_GET['date'];

$calendar = new Calendar($date);
$calendar->highlighted_dates $_SESSION['date'];//Pinta los dias seleccionados.

//$_SESSION['pintado']="";//inicializo la variable a 0
echo "pintado: ".$_SESSION['pintado'];

if (
$_SESSION['pintado']==0)
{
$calendar->highlighted_dates $_SESSION['date'];//Pinta los dias seleccionados.
$pintado=1;
$_SESSION['pintado']=$pintado;
} else {
unset(
$_SESSION['date']);
$pintado=0;
$_SESSION['pintado']=$pintado;

La historia es que no doy con la combinacion adecuada, si lo pinto $pintado vale 1 y sino $pintado vale 0, pero claro luego al refrescar la web...ahi tengo el lio ya. Si inicializo la variable no vale...porque cuando se refresca se inicializa con el valor que pongas todo el rato...estoy perdidillo...alguna ayudita please.
  #10 (permalink)  
Antiguo 11/02/2009, 06:07
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: PHP problema con variables y sessiones.

Realmente ese es mi problema que no se como comprobar si esta resaltado o no.

  #11 (permalink)  
Antiguo 11/02/2009, 08:02
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: PHP problema con variables y sessiones.

Debes empezar a trabajar con tu objeto $calendar. Al parecer tu calendario se imprime automáticamente usando un método de este objeto, no? Dbees buscar ese método y modificarlo, para que busque en el array $highlighted_dates cada vez que vaya a imprimir una fecha.

  #12 (permalink)  
Antiguo 11/02/2009, 08:33
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: PHP problema con variables y sessiones.

El calendario lo imprimo asi :

Código PHP:
print("<ol id=\"year\">\n"); //IMPRIMIR CALENDARIO
setlocale(LC_ALL'es_ES');
for(
$i=1;$i<=12;$i++){
    print(
"<li>");
    print(
$calendar->output_calendar($calendar->year$i));
    print(
"</li>\n");
}
print(
"</ol>"); 
ese metodo usado es $calendar->output_calendar($calendar->year, $i) como bien dices.
Pero tengo la duda de donde hay que modificar ese codigo si en la CLASS.PHP o en el SCRIPT.PHP ??? Si es en la class.php no tengo el nivel suficiente como para meterle mano y que quede intacto vamos. La verdad es que soy bastante principiante en esto de PHP.
  #13 (permalink)  
Antiguo 11/02/2009, 08:36
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: PHP problema con variables y sessiones.

Lo siento. Entonces no podremos ayudarte más. Es el método output_calendar() el que debes modificar.

Vamos, a qué le tienes miedo? Basta con agregar un if... else para verificar el estado de cada día. No estarás esperando que aquí modifiquemos el código por ti, no?

  #14 (permalink)  
Antiguo 11/02/2009, 08:39
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: PHP problema con variables y sessiones.

No por dios :) no me lo entiendas asi, basta con hacer una copia de la class y listo.

A ver vamos ello. Voy a buscar esa funcion de output_calendar empezemos por ahi. Si en algun momento quereis el codigo de la class.php me decis y la subo (NO PARA QUE LA MODIFIQUEIS SINO PARA VER POR LO MENOS LO QUE HAY).
  #15 (permalink)  
Antiguo 11/02/2009, 08:53
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: PHP problema con variables y sessiones.

Okram dentro de la funcion output_calendar relacionado con highlighted_days he encontrado el siguiente codigo :

esto por una parte :


Código PHP:
if( is_array($this->highlighted_dates) ){
                if( 
in_array($day_date$this->highlighted_dates) ){
                    
$classes[] = $this->default_highlighted_class;
                }
            } 
y esto por otra :


Código PHP:
case :
            if( 
is_array($this->highlighted_dates) ){
                        if( 
in_array($day_date$this->highlighted_dates) ){
                            if( empty(
$this->formatted_link_to) ){
                                
$output .= "<a href=\"" $this->link_to "?date=" $day_date "\">";
                            } else {
                                
$output .= "<a href=\"" strftime($this->formatted_link_tostrtotime($day_date)) . "\">";
                            }
                        }
                    }
                    
                    
$output .= $day;
                    
                    if( 
is_array($this->highlighted_dates) ){
                        if( 
in_array($day_date$this->highlighted_dates) ){
                            if( empty(
$this->formatted_link_to) ){
                                
$output .= "</a>";
                            } else {
                                
$output .= "</a>";
                            }
                        }
                    }
                break; 
  #16 (permalink)  
Antiguo 11/02/2009, 08:58
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: PHP problema con variables y sessiones.

Bueno, sólo tú puedes saber qué representa cada variable que hay allí. Imprímelas usando echo para ver el valor que traen. Ahí ya tienes la parte que genera los links. Debes entender cómo funciona para poder saber dónde debes realizar las modificaciones.

Un saludo,
  #17 (permalink)  
Antiguo 11/02/2009, 09:12
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: PHP problema con variables y sessiones.

Solo una ultima cosa Okram entiendo que yo tengo que entenderlo, pero realmente cual es la idea que tengo que añadir en ese codigo, quiero decir, que deberia de hacer en la class ?? que tendria que comprobar ahi ??
  #18 (permalink)  
Antiguo 11/02/2009, 09:29
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: PHP problema con variables y sessiones.

Haber. Cuando los días no estás resaltados dices que haces clic en ello y te dirige a script.php?date=LA FECHA, no? Y eso hace que se resalten usando el código que pusiste al comienzo. Ahora, debes buscar el código con el que se generan los días que ya están resaltados, para así poder crear un link que dirija a otra página (o a la misma) y puedas quitarlos del array de días resaltados. Sigue esa lógica.

  #19 (permalink)  
Antiguo 11/02/2009, 09:48
 
Fecha de Ingreso: octubre-2008
Mensajes: 112
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: PHP problema con variables y sessiones.

Sinceramente, me doy por vencido. Game Over.

De todas maneras Gracias Okram por tu ayuda y perdona por hacerte perder el tiempo.
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 04:49.