<A HREF= "pagina1.php" onClick=<?php $_SESSION['variable']="caso1" ?> Página 1 </A>
De esta forma me da error al pulsar el elnlace...

| |||
![]() Quiero dar valor a una variable global. Este valor dependerá de qué enlace sa haya pinchado. Quiero saber si se puede hacer algo aparecido a: <A HREF= "pagina1.php" onClick=<?php $_SESSION['variable']="caso1" ?> Página 1 </A> De esta forma me da error al pulsar el elnlace... ![]() |
| |||
Tengo un frame izquierdo con una serie de enlaces, y quería q dependiendo de cuál de ellos se pulse, se asigne un valor a una variable global, entonces, según lo q dices, eso no puede hacerse, no? Lo quería de esa forma para q todos los enlaces me llevaran a la misma página y dependiendo de cuál se hubiera pinchado se mostrara una info u otra, ya q lo q se va a mostrar es el mismo tipo de info, estructurada de la misma forma (en una misma tabla, ...), sólo van a cambiar los propios datos, por eso quería dar un valor a una variable dependiendo de qué enlace se pulse. ¿Puedo hacer esto de alguna forma, o tengo q crear obligatoriamente 3 páginas php distintas? |
| ||||
Ah, entonces lo que puedes hacer es enviar un parámetro por la url que identifique el link pinchado y recogerlo en pagina1.php algo así... <a href= "pagina1.php?caso=caso1"> Página 1 </a> Y en la primera línea de pagina1.php le pones...
Código:
if(isset($caso)){ $_SESSION['variable']= $caso; } ![]() |
| |||
1 problemilla más!!! Tengo solucionado el tema de los enlaces, pero me ha surgido otro... En la página q llamo desde los enlaces un pagina php cualquiera, tengo: ---conexión al servidor y a la BD--- ---si va bien, recogo la variable del enlace de la página anterior--- ---y ahora dependiendo del valor de la variable, hago una SQL u otra--- Este punto es así: if ($_SESSION['inci'] == "sina") { echo "Incidencias sin técnico asignado"; $sql1 = "SELECT ... FROM INCIDENCIA WHERE TECNICO LIKE ''"; } else if ($_SESSION['inci']="sins") { echo "Incidencias sin solucionar"; $sql1 = "SELECT ... FROM INCIDENCIA WHERE FECHA_RESPUESTA IN ('0000-00-00')"; } else if ($_SESSION['inci']="sol") { echo "Incidencias solucionadas"; $sql1 = "SELECT ... FROM INCIDENCIA WHERE FECHA_RESPUESTA NOT IN ('0000-00-00')"; } $rsql1 = mysql_query($sql1, $servconex) or die(mysql_error()); Si ejecuto cada una de las consultas directamente en MYSQL, me sale el resultado q busco, con lo q están bien planteadas. El problema está en la segunda y la tercera. La segunda, al pinchar en el enlace, me muestra bien lo q quiero, pero al pinchar en el tercer enlace, tras lo cual debería ejecutar la tercera consulta SQL, me muestra el resultado de la segunda. No sé por qué es... El código anterior creo q es correcto (la consulta al menos si). El código donde creo los enlaces es el siguiente: Ver incidencias: <A HREF="Alistado-inci.php?inci=sina">Sin asignar</A> <A HREF="Alistado-inci.php?inci=sins">Sin solucionar</A> <A HREF="Alistado-inci.php?inci=sol">Solucionadas</A> Aquí tampoco encuentro nada por lo q pueda fallar, ¿sabes por qué puede ser? |
| |||
Si, en Alistado-inci está el código q he escrito arriba: ---conexión al servidor y a la BD--- ---si va bien, recogo la variable del enlace de la página anterior--- ---y ahora dependiendo del valor de la variable, hago una SQL u otra--- Este punto es así: if ($_SESSION['inci'] == "sina") { echo "Incidencias sin técnico asignado"; $sql1 = "SELECT ... FROM INCIDENCIA WHERE TECNICO LIKE ''"; } else if ($_SESSION['inci']="sins") { echo "Incidencias sin solucionar"; $sql1 = "SELECT ... FROM INCIDENCIA WHERE FECHA_RESPUESTA IN ('0000-00-00')"; } else if ($_SESSION['inci']="sol") { echo "Incidencias solucionadas"; $sql1 = "SELECT ... FROM INCIDENCIA WHERE FECHA_RESPUESTA NOT IN ('0000-00-00')"; } $rsql1 = mysql_query($sql1, $servconex) or die(mysql_error()); Dependiendo de lo q se haya pinchado debería entrar en la primero, segudna o tercera, pero la tercera no me la coge... |
| ||||
Quiero decir que en vez de establecer lo que hacer preguntando por la variable de sesión ... if ($_SESSION['inci'] == "sina") { echo "Incidencias sin técnico asignado"; $sql1 = "SELECT ... FROM INCIDENCIA WHERE TECNICO LIKE ''"; } ...lo hagas comparando con el valor enviado directamente de la url if ($inci == "sina") { echo "Incidencias sin técnico asignado"; $sql1 = "SELECT ... FROM INCIDENCIA WHERE TECNICO LIKE ''"; } $inci es la variable que envías por la querystring, a eso me refiero prueba a ver si haciéndolo así te sigue fallando |
| ||||
No me había fijado antes, no se si has hecho copipaste del código que estás usando pero .... el primer if lleva un condicional el segundo lleva una asignación else if ($_SESSION['inci']="sins") { Ahí debe de cambiar el valor a la variable de sesión (supongo) Mira que tengas bien todos los condicionales de los if (que estás usando la comparación == en vez de la asignación =) |