Foros del Web » Programando para Internet » PHP »

El mensaje de Error con "Alert"

Estas en el tema de El mensaje de Error con "Alert" en el foro de PHP en Foros del Web. Hola: En el siguiete control de PHP si se cumple la condicion de error quiero mostrar una ventana alert con el problema y redirecionar el ...
  #1 (permalink)  
Antiguo 11/10/2005, 11:53
 
Fecha de Ingreso: agosto-2005
Mensajes: 18
Antigüedad: 12 años, 3 meses
Puntos: 2
Desacuerdo El mensaje de Error con "Alert"

Hola:

En el siguiete control de PHP si se cumple la condicion de error quiero mostrar una ventana alert con el problema y redirecionar el navegador.

El problema es que la ventana del alert no se muestra, pero la redirección si se ejecuta.

Como puedo modificar este codigo para que se muestre la ventana y luego se realice la redirecion?

Saludos.

if ($string != $usercode) {
echo "<script language='JavaScript'>alert ('Por favor, Escriba el código de control correctamente.'); </script>";
header("Location: http://www.smsgratis.es/smsgratis/compose.php");}
  #2 (permalink)  
Antiguo 11/10/2005, 12:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Resuelve tu problema en javascript primero (preguntando en el foro de Javascript) .. luego lo usas bajo PHP.

Sólo te comento que no puedes hacer tu "alert" de javascript y luego una redirección vía cabeceras HTTP .. eso no es correto. Haz tu alert de javascript y redirecciona también con javascript, recuerda que tu "alert" tiene un botón para aceptar .. así que tendrá que suceder ese evento (en el navegador) para continuar con su proceso (en tu caso redireccionar) .. cosa que header() de PHP sucede en el "servidor" .. osease, antes de que tu código javascript llegue a tu navegador y se ejecute.

Otro detalle . .mientras que aceptas el "alert" .. vas a tener una página en "blanco" .. Sería recomendable que redirecciones a tu página vía header() como ahora lo haces, le pases una variable de control que identifique el problema y ahí al final del código de compose.php hagas tu rutina javascript .. así ya estarás en esa página para cuando aceptes el "alert" consiguiendo un efecto más limpio..

Código PHP:
header("Location: http://www.smsgratis.es/smsgratis/compose.php?error=1"); 
y en compose.php

al final de tu HTML . .casi antes de terminar tu </body> ...

Código PHP:
if ($_GET['error'] == 1){
echo 
"<script language='JavaScript'>alert ('Por favor, Escriba el código de control correctamente.'); </script>";

(también podrías lanzar esta función javascript ante un evento "onLoad" de javascript .. algo tipo:
Código PHP:
<body
<? 
if ($_GET['error'] == 1){
echo 
"onLoad=\"alert ('Por favor, Escriba el código de control correctamente.')\""
}
?> >
(no sé si me hize un lio con las comillas .. pero espero que se entienda el tema)

Un saludo,
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 12:29.