Ver Mensaje Individual
  #23 (permalink)  
Antiguo 06/01/2009, 21:55
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mi pagina aparece en blanco =(

Cita:
Iniciado por Edig Ver Mensaje
ok pero si tengo AJAX YY JAVASCRIPT DIGAMOS es posible que ejecute php desde javascript, por que en ese casi no se como le hehecho pero yo interactuo php con javascript y viceversa hago loop de php para javascript y ayi mismo le pongo php y en otros hago todo en javascript y lo paso a php
No confundamos cosas. Con php puedo generar código javascript, y es perfectamente válido. Si usando código PHP yo hago bucles dentro de una función javascript, entonces el resultado final enviado al navegador será una función javascript conteniendo el resultado impreso en cada bucle. Es es totalmente válido.

Con AJAX se realizan llamadas a un script PHP (u otro lenguaje) externo a la página actual, y el script PHP envía una respuesta que es tomada por el cliente y puede ser entonces procesada. Vale, lo que conocemos como las llamadas asincronas, en la que cargas contenidos realizando diversas peticiones al servidor, pero sin cambiar de página.

Pero lo que sí no funciona es tener código PHP dentro de una función javascript y esperar que este código se ejecute al ejecutarse la función. Veamos:

Código PHP:
<script type="text/javascript">
    function hola_mundo() {
        <?php echo 'Hola mundo'?>
    }
</script>
Ese código genera esta salida:
Código HTML:
<script type="text/javascript">
    function hola_mundo() {
        Hola mundo
    }
</script> 
lo cuál a nivel del cliente no sirve para nada. Es decir, el llamar a hola_mundo() no hará que se imprima (echo) ese texto. Si dentro de esos tags PHP yo coloco código que no necesariamente provoque salidas, como consultas a la base de datos, entonces esas consultas se ejecutarán mucho antes de que el navegador reciba el contenido, e independientemente de si se ejecuta o no la función javascript en la que se supone están incluidos.

Y eso no es un tema de discusión. Discúlpame, pero el entender las diferencias entre un lenguaje de cliente y uno de servidor, y cómo es que se pueden relacionar, es un conocimiento absolutamente básico. No se puede ejecutar código PHP incrustado en una función javascript (ni visceversa). No lo digo yo, simplemente es así.