Foros del Web » Programando para Internet » PHP »

enviar a otra pagina al pulsar ENVIAR

Estas en el tema de enviar a otra pagina al pulsar ENVIAR en el foro de PHP en Foros del Web. Hola a todos! tengo este formulario: http://www.php-development.ru/php-sc...ntact-form.php esta genial por que valida sin tener que irse a otra paginam, se pone en rojo y sale ...
  #1 (permalink)  
Antiguo 01/10/2009, 05:14
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 3
enviar a otra pagina al pulsar ENVIAR

Hola a todos!

tengo este formulario:

http://www.php-development.ru/php-sc...ntact-form.php

esta genial por que valida sin tener que irse a otra paginam, se pone en rojo y sale un pequeño texto de error.
Pero me gustaria que cuando pulsas el botón de enviar y esta todo bien rellenado, te mande a otra pagina por ejemplo a www.google.com

he estado trasteando en el archivo "contact-form.php" y creo que aqui esta la clave pero no doy con ello.

Código PHP:
....
$contact_form_msg_sent     = 'Su mensaje se ha enviado correctamente';
....
....
form method="post" action="<?=$_SERVER['REQUEST_URI'];?>" enctype="multipart/form-data">
....
<input id="submit_contact" class="submit" type="submit" value="<?=$contact_form_msg_submit;?><?=$slash;?>
Muchas gracias de antemano :)
  #2 (permalink)  
Antiguo 01/10/2009, 05:59
Avatar de sebasnob  
Fecha de Ingreso: enero-2008
Ubicación: Rosario
Mensajes: 27
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: enviar a otra pagina al pulsar ENVIAR

No lo probe al script, pero me parece q cambiando el ultimo if:

Cita:
if ($mail_sent)
echo '<div class="error"><em>' . $contact_form_msg_sent . '</em></div>';
else echo '<div class="error"><em class="error">' . $contact_form_msg_not_sent . '</em></div>';
if ($mail_sent) $_POST = array();
if ($mail_sent) $_SESSION = array();
por algo asi:

Cita:
if ($mail_sent){
echo '<div class="error"><em>' . $contact_form_msg_sent . '</em></div>';
$_POST = array();
$_SESSION = array();
header("Location: pagina_cualqiera");
}else{
echo '<div class="error"><em class="error">' . $contact_form_msg_not_sent . '</em></div>';
}
deberia hacer lo q esperas
  #3 (permalink)  
Antiguo 01/10/2009, 08:14
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 3
Respuesta: enviar a otra pagina al pulsar ENVIAR

gracias, pero no funciona, me sale este error:

Código:
Warning: Cannot modify header information - headers already sent by (output started at /home/formularios/sample-html-simple.php:12) in /home/formularios/contact-form/contact-form.php on line 197
  #4 (permalink)  
Antiguo 01/10/2009, 08:27
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: enviar a otra pagina al pulsar ENVIAR

hola, al final del script pon

Header('Location:google.com'); o

Header('URL google.com');

saludos
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma
  #5 (permalink)  
Antiguo 01/10/2009, 09:47
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 3
Respuesta: enviar a otra pagina al pulsar ENVIAR

Hola,
sigue dando error, yo creo que el Header esta mal, por que uso Netbeans, el editor de php y se pone en amarillo cuando pongo este trozo de codigo.

¿...?


Código:

Warning: Cannot modify header information - headers already sent by (output started at /home/formularios/sample-html-simple.php:12) in /home/formularios/contact-form/contact-form.php on line 197

Warning: Cannot modify header information - headers already sent by (output started at /home/formularios/sample-html-simple.php:12) in /home/formularios/contact-form/contact-form.php on line 201
Muchas gracias
  #6 (permalink)  
Antiguo 01/10/2009, 10:45
Avatar de sebasnob  
Fecha de Ingreso: enero-2008
Ubicación: Rosario
Mensajes: 27
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: enviar a otra pagina al pulsar ENVIAR

trata de hacer lo mismo pero sin

Cita:
echo '<div class="error"><em>' . $contact_form_msg_sent . '</em></div>';
o sino otra forma de redireccionarlo, en lugar de header, de la siguiente manera:

Cita:
<meta http-equiv='refresh' content='0; URL=http:/ tupagina.php'>
  #7 (permalink)  
Antiguo 01/10/2009, 10:48
 
Fecha de Ingreso: junio-2008
Ubicación: Colombia
Mensajes: 207
Antigüedad: 15 años, 10 meses
Puntos: 12
Respuesta: enviar a otra pagina al pulsar ENVIAR

Cuando usas la funcion Header el script no debe haber mostrado absolutamente nada en su ejecucion cualquier echo que se haya mostrado previamente dara problemas.
  #8 (permalink)  
Antiguo 01/10/2009, 11:44
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 3
Respuesta: enviar a otra pagina al pulsar ENVIAR

Nada, no hay forma, sigue dando errores.
Se agradece si poneis el codigo entero.

Gracias :)
  #9 (permalink)  
Antiguo 02/10/2009, 05:29
Avatar de sebasnob  
Fecha de Ingreso: enero-2008
Ubicación: Rosario
Mensajes: 27
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: enviar a otra pagina al pulsar ENVIAR

El codigo seria, en lugar de esto:

Código PHP:
if ($mail_sent)
echo 
'<div class="error"><em>' $contact_form_msg_sent '</em></div>';
else echo 
'<div class="error"><em class="error">' $contact_form_msg_not_sent '</em></div>';
if (
$mail_sent$_POST = array();
if (
$mail_sent$_SESSION = array(); 
algo como esto

Código PHP:
if ($mail_sent){
                  
$_POST    = array();
         
$_SESSION = array();
         echo 
"<meta http-equiv='refresh' content='0; URL=http:/tu_pagina.php'>";
    }else{ 
        echo 
'<div class="error"><em class="error">' $contact_form_msg_not_sent '</em></div>';

  #10 (permalink)  
Antiguo 03/10/2009, 11:02
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 3
Respuesta: enviar a otra pagina al pulsar ENVIAR

Ahora si funciona, muchas gracias!!!
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 09:35.