2010-11-22 10 views

Respuesta

12

Suponiendo que lo que quieres decir es que quieres que aparezca una alerta en el navegador cuando el servidor llega a cierto punto en tu código php, la respuesta es "no".

Mientras el servidor ejecuta su código php, no hay contacto con el navegador (hasta que la respuesta comience a regresar). Hay situaciones en las que un servidor puede estar transfiriendo contenido de vuelta al navegador, y en ese caso sería posible tener una convención acordada para que el servidor marque el flujo de contenido con mensajes que se alertarán de inmediato, pero No creo que sea por lo que estás preguntando aquí.

+0

Eso es lo que quise decir, sí. ¡Gracias! –

+0

Luego debe seleccionarlo como la respuesta correcta :) – cgp

+0

¡Pero hubo algunas respuestas que dicen que es posible! ¿O no lo entendí correctamente? –

0

Sí, si envía código Javascript con alert a una página html de PHP.

No, si desea llamar al alert simplemente ejecutando el código del lado del servidor y no enviando JS al navegador del cliente.

+0

¿cómo puedo hacer eso? –

+0

@Ahmad: vea la respuesta de Rhapsody – darioo

+0

Su código HTML de respuesta puede contener código Javascript que produce una alerta, pero no verá la alerta hasta mucho después de que su código php haya finalizado. – Pointy

6

Sí, puedes.

echo "<script>alert (\"js inside php\")</script>"; 
+5

uh oh! nadie pidió más contexto o explicación. Mal comentario: D – atlavis

3

Explicar; PHP se compila en el servidor y el resultado es HTML simple. Por lo tanto, las alertas y tales no pueden aparecer durante la compilación es un proceso silencioso.

Si desea mostrar una alerta en el código HTML generado por PHP;

<?php 
    echo '<script type="text/javascript"> alert(\'Hi\'); </script> 
?> 
0
echo "<script type='text/javascript'>alert('alert text goes here');</script>"; 

Pero no sé cómo puede ser útil, ya que sólo funcionará en el lado del cliente. Si desea depurar su código, simplemente puede imprimirlo en la pantalla, pero si usa la alerta, cuide las comillas porque pueden romper la parte de javascript.

0

Puede emitir una alerta de JavaScript() dentro de una función PHP en al menos dos formas:

A) Devuélvala:

function sendAlert($text) { 
    return "<script type='text/javascript'>alert('{$text}');</script>"; 
} 

B: es la salida directa:

function echoAlert($text) { 
    echo "<script type='text/javascript'>alert('{$text}');</script>"; 
} 
21

Sí, puede, aunque yo 100% garantizar que esto no es lo que quiere o lo que quiere decir:

<?php 
    function do_alert($msg) 
    { 
     echo '<script type="text/javascript">alert("' . $msg . '"); </script>'; 
    } 
?> 
<html><head><title>Hello</title></head> 
<body> 
<h1>Hello World, THis is my page</h1> 
<?php 
    do_alert("Hello"); 
?> 
</body> 
</html> 

El navegador ejecuta el Javascript, el servidor ejecuta el PHP.

También podría hacer eco de Javascript desde su servidor (sin HTML) y luego incluir esa secuencia de comandos en su página mediante la creación dinámica de una etiqueta <script> que contenga ese Javascript. Esto es esencialmente crear Javascript sobre la marcha para inyección en su página con los encabezados correctos, etc.

Si desea rastrear la ejecución de algún script PHP, puede usar trigger_error() para crear una entrada de registro, o puede escribir una función trace() para almacenar cadenas en un búfer y agregarlas a una página.

Si quiere rastrear Javascript, vea Firebug para Firefox.

PHP Headers API Documentation
On-demand Javascript at Ajax Patterns

+0

Hay un código de JavaScript que llama a otros códigos PHP en otro archivo. Quiero rastrear este código PHP y verlo mientras se ejecuta. Esto es para lo que quiero. ¿Esta idea suena correcta? –

+0

No, la solicitud de Ajax solo devolverá el resultado final y nada en el medio (si está pensando en alertar en diferentes etapas) – SW4

+0

Javascript no puede llamar directamente a PHP, Javascript solo puede invocar PHP a través de una URL. –

Cuestiones relacionadas