Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/12/2015, 08:58
Avatar de Morod0
Morod0
 
Fecha de Ingreso: julio-2015
Ubicación: Valencia
Mensajes: 63
Antigüedad: 8 años, 9 meses
Puntos: 1
Respuesta: Variables SESSION y onclick

Cita:
Iniciado por fbadiola Ver Mensaje
Buenas,

Tu código está mal planteado. Te explico el por qué:
Estas mezclando código PHP con código de JavaScript sin sentido alguno.
Estas tratando de que al darle click a algo se active una función JavaScript y desde PHP en el ámbito de la función JS cambie el valor de una sesión en PHP, y no, no funciona así. Por que lo que hace eso es que cada vez que cargues la página te cambie el valor de la sesión a: ingles, luego a espanol y luego a frances. Y no es lo que queremos!!

Por lo cual, hay varias opciones de hacerlo:
Según lo que tu quieres hacer que es llamando a una función javascript por el evento onClick sobre un elemento, cambie el valor de la sesión y luego actualice.
Muy bien entonces necesitamos que JavaScript llame a PHP y PHP haga el cambio del valor de la sesión. ¿Cómo podemos "llamar" a PHP desde JavaScript? Simplemente una petición HTTP hacia un fichero PHP mediante AJAX con un parametro dentro de la cabecera, por ejemplo GET idioma=(es|en|fr) y el PHP se encarga de gestionar eso.
El PHP lo que realizaría es obtener el parametro "idioma" y según su valor, cambiaría a un lenguaje a otro (puedes usar if o switch).

Otra opción, que es lo que te dijo AlejandraLara, es redirigir a un archivo PHP que te cambie el valor y este PHP te mande a la página donde estabas antes pero con el lenguaje cambiado.

Más opciones... usa COOKIES, cambia la COOKIE desde JavaScript (document.cookie), actualizas la página y PHP se encarga de cargarte el lenguaje a través de esa COOKIE, evitando así una petición al servidor.

Saludos!
Muchisimas gracias por responder!

La verdad es que al probar mi código, la variable SESSION si que obtenia un valor, por eso pensé que se podía hacer perfectamente lo que intenté de si haces click {php}, no consigo encontrar la lógica del todo a esto, aun me queda muchisimo.

De nuevo gracias por la respuesta, voy a intentar utilizar la opción de AlejandraLara porque el uso de COOKIES, GET=es/en.. que has comentado lo veo imposible con mis conocimientos actuales, ¡ojala!, buscaré información de todos modos porque nunca está de más avanzar

Os doy el punto y pruebo a hacerlo.

Un saludo y gracias de nuevo.

edit: Si supieras algún manual o lo que sea para aprender a manejar las peticiones http como me has comentado, te lo agradecería muchísimo, no tengo ni idea respecto a este tema.

Última edición por Morod0; 01/12/2015 a las 09:05