Foros del Web » Programando para Internet » PHP »

Alert dentro de PHP

Estas en el tema de Alert dentro de PHP en el foro de PHP en Foros del Web. Hpola a todos, llevo rato largo dandole vueltas y no consiguo entender porque se me ejecuta el unlink sin hacverme la pregunta de marras. Por ...
  #1 (permalink)  
Antiguo 24/07/2012, 09:33
 
Fecha de Ingreso: julio-2012
Ubicación: Ripollet
Mensajes: 80
Antigüedad: 11 años, 9 meses
Puntos: 1
Alert dentro de PHP

Hpola a todos, llevo rato largo dandole vueltas y no consiguo entender porque se me ejecuta el unlink sin hacverme la pregunta de marras. Por favor,. alguien me indica donde está mio error ??

<?php
if ($_GET['accion'] == "del" && $_GET['archivo'] != "") { ?> <script>
if (confirm("¿Estás seguro de que quieres eliminar...?")) { </script> <?php
unlink("upload/img/".$_GET['archivo']); ?> <script>
} </script> <?php
}
?>

Gracias
  #2 (permalink)  
Antiguo 24/07/2012, 09:39
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1.242
Antigüedad: 13 años, 5 meses
Puntos: 73
Respuesta: Alert dentro de PHP

Si a un inglés le hablas Alemán e Inglés juntos, ¿Qué pasa?

Lo mismo estás haciendo...

Separa los códigos y por ej, haz:
Código Javascript:
Ver original
  1. if (confirm("¿Estás seguro de que quieres eliminar...?")) { window.location = algo; }

y en esa url algo, haces el unlink.

Igual, podrías hacer:

Cita:
<? if ($_GET['accion'] == "del" && $_GET['archivo'] != "") { ?>
<script>if(confirm("¿Estás seguro de que quieres eliminar...?")) { window.location = algo; }</script>
<? } ?>


Ten en cuenta que js se ejecuta en el navegador y php en el servidor.

Saludos!
__________________
:)
  #3 (permalink)  
Antiguo 24/07/2012, 10:02
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Alert dentro de PHP

como dice luis, el problema es que estas combinando Javascript y PHP mal!
Luis te sugiere que al confirmar lo redirecciones a una URL "archivo.php" que borra.
concuerdo con el, pero te sugiero que leas sobre AJAX!, que va a poder hacer lo mismo sin redireccionar el navegador.
__________________
Mono programando!
twitter.com/eguimariano
  #4 (permalink)  
Antiguo 24/07/2012, 10:47
 
Fecha de Ingreso: julio-2012
Ubicación: Ripollet
Mensajes: 80
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: Alert dentro de PHP

Gracias por la respuesta pero no entiendo lo que me dices...

que mas da si hago el unlink aquí o en otro fichero php ??? si total, tu codigo y el mio son identicos.

El problema es que no me hace la pregunta, si envio eso a un fichero tal como tu me indicas, me lo ejecuta pero sigue sin hacerme la pregunta.

Y esa es mi consulta. Porque no hace la pregunta ???

Muchas gracias
  #5 (permalink)  
Antiguo 24/07/2012, 10:49
 
Fecha de Ingreso: julio-2012
Ubicación: Ripollet
Mensajes: 80
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: Alert dentro de PHP

como dice luis, el problema es que estas combinando Javascript y PHP mal!

Gracias por la respuesta.

Concuerdo en que estoy haciendolo mal, pero lo que me gustaria es saber donde ?? donde me estoy equivocando.

Cual sería el código correcto para que hiciera le pregunta ??

Muchas gracias
  #6 (permalink)  
Antiguo 24/07/2012, 10:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Alert dentro de PHP

Porque PHP y Javascript no se ejecutan en paralelo, es lo que te están diciendo, recuerda que PHP se ejecuta en el servidor, y Javascript en el cliente.

PHP se va a ejecutar siempre primero, y una vez que terminó la ejecución de PHP imprime el resultado que puede ser HTML, o Javascript, o CSS, etc.

Por lo que no puedes hacer lo que quieres, el confirm nunca se va a ejecutar en el ámbito de PHP, para PHP solamente va a ver la terminación de un bloque, va a imprimir tu código Javascript y luego va a seguir ejecutando el resto del bloque, al terminar, va a enviar la salida (el código Javascript) al cliente y es entonces donde ves el alert.
  #7 (permalink)  
Antiguo 24/07/2012, 11:02
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Alert dentro de PHP

el pex en si es que te confundes con javascript y php


Código PHP:
Ver original
  1. <?php
  2. if ($_GET['accion'] == "del" && $_GET['archivo'] != "") { ?>
  3.     <script>
  4.     if (confirm("¿Estás seguro de que quieres eliminar...?")) {
  5.     </script> <!--donde se cerro el if de javascript?????-->
  6. <?php
  7. unlink("upload/img/".$_GET['archivo']); ?> <script>
  8. } </script> <?php   //ya me hice bolas aqui no se que paso :s
  9. }
  10. ?>


la propuesta de luis

checa esta ligas
http://www.w3schools.com/jsref/met_win_confirm.asp
http://www.w3schools.com/jsref/met_loc_replace.asp


en tu confirm , si aceptan borrar, redireccionas a un php que borre lo que quieres
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #8 (permalink)  
Antiguo 27/07/2012, 07:29
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1.242
Antigüedad: 13 años, 5 meses
Puntos: 73
Respuesta: Alert dentro de PHP

Mira: http://www.nociondigital.com/webmast...talle-304.html

Como dijeron, por ajax evitarás redireccionar.

Podrías hacer el confirm, si fuese true, con ajax cargar un contenido, html por ej con un 0 o un 1 (true o false devolvido por unlink) y asignarlo a una variable con js. Luego, ver: si es 1, todo correcto, le digo al usuario que se borró por alert() y hago los cambios necesários en la pag. Si son muchos, window.location.reload()... te costará menos jejej.
Si es 0, pues un alert...

Aunque creo, si tienes tiempo de aprender y demás, que te servirá mejor leer los parámetros de url con js y dejar php solo para hacer un simple unlink. Mírate esta búsqueda en google

Luego... jquery si quieres ponerte, es todo más simple... solo $.get(url, function (data){ data es la respuesta }); aunque a veces no merece la pena cargar toda la librería...

Saludos!
__________________
:)

Etiquetas: alerta
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 05:45.