Después de uno de mis scripts PHP, estoy ejecutando este código

echo ('<script type="text/javascript">alert("hi");</script>');

Sin embargo, no se muestra ninguna alerta. ¿Es esto una limitación con la forma en que se carga el DOM y, de ser así, cómo puedo solucionarlo?

0
nathanfranke 1 mar. 2018 a las 07:35

3 respuestas

La mejor respuesta

Como sugirió @mike, el problema es que simplemente agregar un script al DOM generalmente no lo ejecuta. La solución es cambiar la lógica del código.

O el código PHP debe redirigir el navegador a otra página, o el JavaScript AJAX debe tener un detector de eventos para completar la carga.

0
nathanfranke 16 oct. 2019 a las 05:15

El problema aquí es que tienes un error tipográfico. Debería ser $_FILES no $FILES Además, no está utilizando la función move_uploaded_file() correctamente. La sintaxis es la siguiente

move_uploaded_file($tmp_name, "$uploads_dir/$name");

Dónde

$tmp_name = $_FILES["file"]["tmp_name"];

$uploads_dir = 'Location Folder of where the file should be stored';

$name = $_FILES["file"]["name"];

También le recomiendo que agregue algunas validaciones para este módulo de carga. Tal como están las cosas, pueden cargarse fácilmente archivos maliciosos como troyanos, etc.

0
Akintunde-Rotimi 1 mar. 2018 a las 04:53

Intenta usar javascript de esta manera:

window.top.window.yourFunctionName();

En su caso, sería como:

echo ('<script type="text/javascript">window.top.window.alert("hi");</script>');
0
slon 1 mar. 2018 a las 04:41