Foros del Web » Programando para Internet » PHP »

Php dentro de javascript ?

Estas en el tema de Php dentro de javascript ? en el foro de PHP en Foros del Web. 2 ejemplos el primero no funciona @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original < html >     < head >         ...
  #1 (permalink)  
Antiguo 06/08/2012, 23:10
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años, 1 mes
Puntos: 168
Php dentro de javascript ?

2 ejemplos

el primero no funciona

Código Javascript:
Ver original
  1. <html>
  2.     <head>
  3.         <script type='text/javascript'>
  4.        
  5.         function asgg(){
  6.             <?php echo "mensaje"; ?>
  7.                      }
  8.         </script>
  9.     </head>
  10.     <body onload="asgg()">
  11.      
  12.     </body>
  13. </html>

el otro si

Código Javascript:
Ver original
  1. <html>
  2.     <head>
  3.         <script type='text/javascript'>
  4.         <!--
  5.             function alertar(){
  6.                 alert(<?php echo "'hola'"; ?>);
  7.             }
  8.         //-->
  9.         </script>
  10.     </head>
  11.     <body onload='alertar()'>
  12.      
  13.     </body>
  14. </html>

no entiendo, como se puede ejecutar un php dentro de un javascript, sin haber cerrado el js antes, son lenguajes diferentes, se interpretan desde 2 lados distintos, servidor y cliente.
Porque uno anda y el otro no?
  #2 (permalink)  
Antiguo 06/08/2012, 23:38
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: Php dentro de javascript ?

No, la cosa no es así, revisa el código fuente que te genera el navegador (Firefox, Chrome, Opera, etc.) y verás que ahí no hay código PHP, en lugar de <?php echo "'hola'"; ?> verás que sólo dice 'hola';

Porqué?, sencillo, PHP se ejecuta en el servidor y ejecutará todo lo que esté dentro de <?php y ?>, de manera que al llegar al navegador es tan sólo HTML + CSS + Javascript.

Por cierto, el primer código no funciona porque hay error de sintáxis en Javascript, por ejemplo, supongamos que $mensaje en PHP es 'Hola, cómo estás', el resultado de tu código sería:

Código PHP:
Ver original
  1. <html>
  2.         <head>
  3.             <script type='text/javascript'>
  4.            
  5.             function asgg(){
  6.                 Hola, cómo estás
  7.                          }
  8.             </script>
  9.         </head>
  10.         <body onload="asgg()">
  11.          
  12.         </body>
  13.     </html>

Tendrías que poner el mensaje entre comillas y asignarlo a una variable o enviarlo como parámetro a una función, tal como hiciste en el segundo ejemplo.
__________________
- León, Guanajuato
- GV-Foto

Última edición por Triby; 06/08/2012 a las 23:42 Razón: No vi el primer código! :borracho:
  #3 (permalink)  
Antiguo 06/08/2012, 23:56
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años, 1 mes
Puntos: 168
Respuesta: Php dentro de javascript ?

claro, entonces triby digamos que

Código Javascript:
Ver original
  1. function alertar(){
  2.                 alert(<?php echo "'hola'"; ?>);
  3.             }
de aca javascript entiende esto solamente

function alertar(){
alert('hola');
}

y x eso se muestra el mensaje, no?
  #4 (permalink)  
Antiguo 07/08/2012, 00:09
 
Fecha de Ingreso: agosto-2012
Ubicación: Santiago
Mensajes: 124
Antigüedad: 12 años, 4 meses
Puntos: 60
Respuesta: Php dentro de javascript ?

Exacto.

Lo otro sería que el código PHP tenga código JS adentro.

Código PHP:
Ver original
  1. <?php echo "alert('hola');"; ?>
__________________
~~Aprendiendo.
Become a Programmer, Moth*rf*cker
  #5 (permalink)  
Antiguo 07/08/2012, 00:17
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años, 1 mes
Puntos: 168
Respuesta: Php dentro de javascript ?

bien bien carlos, pero el caso es el contrario, se que se puede hacer eso que decis, el tema era al revez, gracias igual!
  #6 (permalink)  
Antiguo 07/08/2012, 01:33
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: Php dentro de javascript ?

Lo que menciona Carloosolrac es exactamente lo mismo, no es al revés como dices.

Sí puedes tener en tus scripts código PHP para generar HTML, CSS y lo que quieras, lo que te debe quedar claro es que no puedes combinar en tiempo real funcones PHP con Javascript, porque PHP es del lado del servidor y Javascript del lado del cliente.

Por ejemplo, esto está mal:
Código PHP:
Ver original
  1. <?php
  2. function actualizaBaseDeDatos($dato) {
  3.     /* Instrucciones para actualizar base de datos */
  4.     /* No se genera salida HTML */
  5. }
  6. ?>
  7. <input type="text" name="dato" value="" />
  8. <input type="button" onclick="<?php actualizaBaseDeDatos(/* valor que crees que podría tener el input, suponiendo que pudieras obtenerlo aquí */); ?>" value="Actualizar" />

La función PHP se ejecutará desde que generas el HTML y el navegador sólo vera onclick=""

Por supuesto, sí hay forma de enviar datos a PHP sin tener que recargar toda la página, pero se hace con AJAX (Llamadas asíncronas por medio de Javascript)
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 07/08/2012, 09:49
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años, 7 meses
Puntos: 26
Respuesta: Php dentro de javascript ?

te lo explicamos en otro post.. como te dijeron antes..
con php como se ejecuta solo del lado del servidor, puedes generar código dinámico de forma simple y fácil...
hasta es posible sobre escribir tu propio código, aunque no sea recomendado ..

@rodrigo791 ve cuando tienes algo así:

Código PHP:
<?php
if(date("H") > 8$Bar "Buenos dias!";
else 
$Bar "Buenas noches!";
/* 
    Esto puedes hacerlo con JavaScript.. 
    pero tomalo como ejemplo dinamico desde Php
*/
?>
<html>
    <head>
        <script type='text/javascript'>
            <!--
            //Esto..
            function Saludar(){
                alert("<?php echo $Bar?>");
            }
            
            //tambien es posible..
            function SaludarDeOtraManera(){
                var saludo = "<?php echo $Bar?>";
                alert(saludo);
            }
            //de estra otra forma tambien
            var = "<?php echo $Bar?>";
            window.load = alert("<?php echo $Bar ", Son las " date("H") . " hrs."?>"):
            //-->
        </script>
    </head>
    <body OnLoad="Saludar()">
        <button onclick='SaludarDeOtraManera()' type='button'>clickme!</button><br />
        como ves, la carga de $bar en php es generada dinamicamente..<br />
        El codigo es generado en el servidor primero.. procesando las etiquetas <?php echo "php"?><br />
        y luego enviando el código de fuente al cliente<br />
    </body>
</html>
no lo probé.. pero creo que esta bien x)

Última edición por KsrZ; 07/08/2012 a las 10:14

Etiquetas: html, javascript
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 13:42.