Foros del Web » Programando para Internet » PHP »

Hacer redirección si se cumple un if

Estas en el tema de Hacer redirección si se cumple un if en el foro de PHP en Foros del Web. Buenas. La cosa es que yo tengo un foro en vBulletin con una página que va con el mismo tema del foro, en esa página ...
  #1 (permalink)  
Antiguo 19/06/2012, 00:32
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Hacer redirección si se cumple un if

Buenas. La cosa es que yo tengo un foro en vBulletin con una página que va con el mismo tema del foro, en esa página tengo un formulario.
El problema es que el formulario lo tengo en una misma página en PHP, y al enviarse el formulario no se va a ningún lado, sino que valida y envía las mismas respuestas allí, entonces, al cumplirse la función mail, genera el código HTML del echo, pero quita el diseño del foro... Y allí está mi problema, quiero que se muestra en el mismo lugar sin quitar el diseño del foro. No sé si me doy a entender.

Les muestro mi código:

Código PHP:
                    if(mail($mail,$asunto,$mensaje,$headers)){
                        echo 
"Tu mensaje fue enviado con exito. Muy pronto nos comunicaremos contigo a traves de este email: $email.";
                    }else{
                        echo 
"Tu mensaje no pudo ser enviado, por favor intenta de nuevo.\n";
                    } 
Si no me ayudan a conseguir una solución y que se cargue allí mismo, me gustaría que me ayudaran a conseguir una redirección (Ya probé con el header y no me funcionó como esperaba) que pueda hacer allí y simplemente creo otra página con el mismo diseño del foro y ya está.

Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 19/06/2012, 05:20
 
Fecha de Ingreso: noviembre-2011
Mensajes: 32
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Hacer redirección si se cumple un if

Hola,

puedes redireccionar haciendo uso de JS, aqui tiene un ejemplo:

Código PHP:
            echo "<script language='JavaScript'>";
            echo 
"location = 'nuevaOferta.php?modo=1&ok=1'";
            echo 
"</script>"
Otra cosa que puedes hacer es redireccionar a la misma página con una variable y le metes un if. Por ejemplo: mipagina.php?modo=1 y que cuando el modo sea 2 cargue lo que quieres cargar, así te ahorrarias crear todo.

Las dos fomas te funcionarán ;)
  #3 (permalink)  
Antiguo 19/06/2012, 05:33
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 1 mes
Puntos: 461
Respuesta: Hacer redirección si se cumple un if

Buenas bienvenido al foro, te presento al manual ahí vas a encontrar muchas de las dudas que tengas, fijate en el topico de la función header que habla de location, que es lo que se usa para redireccionar, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #4 (permalink)  
Antiguo 19/06/2012, 05:55
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Hacer redirección si se cumple un if

Cita:
Iniciado por b0rr3g0 Ver Mensaje
Hola,

puedes redireccionar haciendo uso de JS, aqui tiene un ejemplo:

Código PHP:
            echo "<script language='JavaScript'>";
            echo 
"location = 'nuevaOferta.php?modo=1&ok=1'";
            echo 
"</script>"
Otra cosa que puedes hacer es redireccionar a la misma página con una variable y le metes un if. Por ejemplo: mipagina.php?modo=1 y que cuando el modo sea 2 cargue lo que quieres cargar, así te ahorrarias crear todo.

Las dos fomas te funcionarán ;)
Sería mejor, supongo pero mantiene el mismo tema que tenía? Si es así, preferiría esa.


Carlos, gracias por la bienvenida. Y ya había usado el header pero no me funcionó como esperaba D:

Saludos
  #5 (permalink)  
Antiguo 19/06/2012, 07:10
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 1 mes
Puntos: 461
Respuesta: Hacer redirección si se cumple un if

tienes que ver cual es el error, aunque el mas comun es este http://www.forosdelweb.com/wiki/PHP:...n_line_4%22%3F, verifica y ve si te sirve, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 19/06/2012, 08:48
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Hacer redirección si se cumple un if

Creo que esta información sería de utilidad:
Yo tengo un portal en el que puedo añadir páginas con el mismo diseño del foro, allí fue donde lo hice. Es como si tuviese un iframe y en ese iframe pone el archivo que le indiqué poner y el link es: index.php?pageid=soporte, y como les dije, está todo el formulario y procesos en el mismo archivo, yo creo que lo más conveniente sería que lo hiciera en dos archivos.. ¿No?

@Carlos_Belisario no, el problema es que no se va a el archivo que puse en el header, y simplemente se queda en blanco en la pagina del formulario (en este caso contactar.php, y lo mando es a enviado.php)
  #7 (permalink)  
Antiguo 19/06/2012, 20:06
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 1 mes
Puntos: 461
Respuesta: Hacer redirección si se cumple un if

tendrías que mostrarnos a ver como lo haces porque en teoría cuando haces uso de la función header si no hace la redicrección es porque algo se hizo mal,
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #8 (permalink)  
Antiguo 19/06/2012, 21:53
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Hacer redirección si se cumple un if

Código PHP:
                    if(mail($mail,$asunto,$mensaje,$headers)){
                        
header ('Location: http://www.misitio.com/enviado.php');

                    }else{
                        
                        echo 
"Tu mensaje no pudo ser enviado, por favor intenta de nuevo.\n";
                    } 
Está justo como he visto en varios ejemplos.. Incluyendo el de php.net
  #9 (permalink)  
Antiguo 19/06/2012, 23:02
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Hacer redirección si se cumple un if

Entiendo que el header es lo primero que debe figurar en el sitio. ¿Esa que nos muestra es la primera línea de tu código o es de más abajo?
  #10 (permalink)  
Antiguo 20/06/2012, 06:11
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 1 mes
Puntos: 461
Respuesta: Hacer redirección si se cumple un if

Cita:
Iniciado por Erpop Ver Mensaje
Código PHP:
                    if(mail($mail,$asunto,$mensaje,$headers)){
                        
header ('Location: http://www.misitio.com/enviado.php');

                    }else{
                        
                        echo 
"Tu mensaje no pudo ser enviado, por favor intenta de nuevo.\n";
                    } 
Está justo como he visto en varios ejemplos.. Incluyendo el de php.net
perfecto, ahora mi pregunta es la siguiente, cuando realizas el header no tienes html, echo ni ninguna salida que haga qe te de un error?? porque en teoría si hace el envio del email debería de hacer la redireccipon correctamente, saludos

Cita:
Iniciado por sjj Ver Mensaje
Entiendo que el header es lo primero que debe figurar en el sitio. ¿Esa que nos muestra es la primera línea de tu código o es de más abajo?
No necesariamente, de hecho lo que puede marcarle el error es que haya alguna salida al navegador, como se ve en el link de la wiki que deje anteriormente, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #11 (permalink)  
Antiguo 20/06/2012, 12:01
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Hacer redirección si se cumple un if

No, o sea en el archivo en sí no tengo ningún problema, al menos no que haya notado.. en el if solo tengo el header como puedes ver, y cuando hago el envío se mantiene allí en contactar.php...
¿Será porque el formulario al pulsar enviar se envía a contactar.php (El mismo archivo)?
  #12 (permalink)  
Antiguo 26/06/2012, 05:00
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Hacer redirección si se cumple un if

Bump. Sigo esperando la ayuda por lo del mismo problemilla D:

Etiquetas: cumple, formulario, html
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

SíEste tema le ha gustado a 1 personas




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