Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/11/2004, 06:27
Avatar de Kaopectate
Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 23 años, 1 mes
Puntos: 38
Hola pcu.

Cuando mezcles código PHP y JS en una misma página debes tener muy en cuenta el momento en que cada uno de esos lenguajes se interpreta.

El cuento es el siguiente:

Cuando alguien solicita una página, tu servidor antes de despacharla resuelve todos los scripts hechos en lenguaje servidor (PHP, ASP u otros). Una vez hecho eso, la página que viaja no contiene ni una sola sentencia escrita en ninguno de esos lenguajes servidores.

Hecho eso la página llega al browser del cliente donde se carga el código HTML, se ejecutan todos los scripts JavaScript que se deban ejecutar en la carga y se espera por interacción de eventos JavaScript.

Como verás, en el servidor no hay nadie capaz de interpretar JavaScript y en el browser nadie entiende de PHP ni de ASP.

P: ¿Como debes proceder para que un evento (que suele darse en el browser) dispare una función del lado de servidor?

R: Pon tu código PHP (por ejemplo) en una página y llama a esa página como respuesta al evento usando JavaScript. Puedes hacerlo disparando una ventana popup con el URL de tu página PHP o recargando la página actual con otra en cuyo contenido este tu script servidor.




P: ¿Como debes proceder para que una función JavaScript utilice datos obtenidos en el servidor?

R: Existen muchas maneras, la que yo suelo usar con mas frecuencia es "invadir" mi código JavaScript con comandos PHP (por ejemplo) que al ser resueltos en el servidor, dejen mi código JavaScript "customizado" para lo que necesito. Puedes pensar por ejemplo en llenar un arreglo JavaScript con elementos obtenidos de una base de datos (como en el Faq-169).

Si usas esta vía, yo te recomiendo que escribas tu código JavaScript pensando en datos estáticos, los pruebes, y cuando todo este funcionando cambies el valor de los datos por consultas a tu base de datos.


Espero que te sirva de algo tanta perorata.

Saludos.