Foros del Web » Programando para Internet » PHP »

Redireccionamiento despues de enviar form.

Estas en el tema de Redireccionamiento despues de enviar form. en el foro de PHP en Foros del Web. Hola muchachos como andan. Bueno tengo un problema, tengo un formulario que se llena en linea y se envia al mail del contacto. Y quisiera ...
  #1 (permalink)  
Antiguo 19/09/2005, 18:36
 
Fecha de Ingreso: abril-2005
Mensajes: 130
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Redireccionamiento despues de enviar form.

Hola muchachos como andan.
Bueno tengo un problema, tengo un formulario que se llena en linea y se envia al mail del contacto.
Y quisiera saber como hacer para que despues te enviar el formulario me redireccione a la pagina que estaba viendo o alguna otra.

Como hago??

Aca pongo el formulario que uso.
Código PHP:
<?php 
/*Función para validar e-mail con Exprexiones Regulares*/ 
function check_email($email) { 
    
//caracteres permitidos en el nombre: 0-9a-Z-._ en el host: 0-9a-Z-. entre los 2: @ 
    
if (!preg_match('/^[0-9a-zA-Z\.\-\_]+\@[0-9a-zA-Z\.\-]+$/'$email)) 
        return 
False
    
//Nombre debe empezar con algún caracter alfanumerico 
    
if ( preg_match('/^[^0-9a-zA-Z]|[^0-9a-zA-Z]$/'$email)) 
        return 
False
    
//Nombre debe terminar con algún caracter alfanumerico 
    
if (!preg_match('/([0-9a-zA-Z_]{1})\@./',$email) )                     
        return 
False
    
//Host debe empezar con algún caracter alfanumerico 
    
if (!preg_match('/.\@([0-9a-zA-Z_]{1})/',$email) )                     
        return 
False
    
#Par .- or -. or -- or .. no permitidos 
    
if ( preg_match('/.\.\-.|.\-\..|.\.\..|.\-\-./',$email) ) 
        return 
False
    
#Par ._ or -_ or _. or _- or __ no permitidos 
    
if ( preg_match('/.\.\_.|.\-\_.|.\_\..|.\_\-.|.\_\_./',$email) ) 
        return 
False
    
#Host debe terminar con '.' más 2-5 alfa para TopLevelDomain 
    
if (!preg_match('/\.([a-zA-Z]{2,5})$/',$email) ) 
        return 
False
    return 
True

/*Si se le dio al boton submit*/ 
if (isset($_POST['submit'])) { 
//revisa si no estan vacios los campos 
  
if (!empty($_POST['nombre']) &&   !empty($_POST['asunto']) && !empty($_POST['mensaje'])) { 
//revisa si el e-mail es valido 
    
if (check_email($_POST['email'])) { 
//asigno variables para el envio       
$para "[email protected]"
$email $_POST['email']; 
$nombre $_POST['nombre']; 
$asunto $_POST['asunto']; 
$mensaje="Nombre: $nombre.
Su ip es("
.$_SERVER['REMOTE_ADDR'].") 
Su mensaje es: "
.$_POST['mensaje']." \n"
$headers "From: $email \r\n"
$headers.= "To:$para \r\n";
$headers.= "Bcc: [email protected] \r\n";
$headers.= "La version que usa ".$_POST['version']." \n"
//envio el mail 
      
if (mail($para,$asunto,$mensaje,$headers)) { 
//si se pudo enviar 
      
echo "<script language=\"javascript\" type=\"text/javascript\">alert('Gracias por tus comentarios')</script>";
      }else{ 
//si no se pudo enviar 
      
echo "<script language=\"javascript\" type=\"text/javascript\">alert('Error: El e-mail no pudo ser enviado')</script>";} 
      }else{ 
//si el e-mail no es valido 
     
echo "<script language=\"javascript\" type=\"text/javascript\">alert('El e-mail debe ser valido')</script>";} 
     }else{ 
//si algun campo quedo vacio 
  
echo "<script language=\"javascript\" type=\"text/javascript\">Alert('Debes rellenar todos los campos')</script>";}
}else{
?>
<title>Formulario mail</title> 
<body bgcolor="#000000">
<form action="<?php $PHP_SELF ?>" method=post>
  <p><font color="#FFFFFF">Nombre:</font> 
    <input type=text name="nombre" size=16>
    <br />
    <font color="#FFFFFF">Tu Email:</font> 
    <input type=text name="email" size=16>
    <br />
    <font color="#FFFFFF">Asunto:</font> 
    <input type=text name="asunto" size=16>
    <br />
    <font color="#FFFFFF">Variables</font>. 
    <select name="version">
      <option>Variable 1</option>
      <option>Variable 2</option>
    </select>
 <br />
    <font color="#FFFFFF">Comentarios:</font><br />
    <textarea name="mensaje" cols=50 rows=8 wrap="VIRTUAL"></textarea>
    <br />
    <input type=submit value="Enviar" name="submit">
    <input type=reset value="Limpiar" name="reset">
  </p>
  </form> 
<? 
}?>
se puede usar el script de redirecion normal??

Como ven cuando se apreta enviar sale un Cartel del script que dice que se envio correctamente.
Yo kiero k despues de apretar ese boton me redirecione a otra pag.

Como hago eso?


GRACIAS
  #2 (permalink)  
Antiguo 19/09/2005, 21:15
 
Fecha de Ingreso: febrero-2005
Ubicación: Tamaulipas - México
Mensajes: 328
Antigüedad: 12 años, 10 meses
Puntos: 0
pon esto en los alerts:
Código PHP:
echo "<script language=\"javascript\" type=\"text/javascript\">
Alert('Debes rellenar todos los campos');
window.location.href=\"urladireccionar.php\";
</script>"

__________________
Facebook Like
  #3 (permalink)  
Antiguo 19/09/2005, 22:27
 
Fecha de Ingreso: abril-2005
Mensajes: 130
Antigüedad: 12 años, 8 meses
Puntos: 0
No me funciona

lo pongo despues del script de

Código PHP:
//si se pudo enviar 
      
echo "<script language=\"javascript\" type=\"text/javascript\">alert('Gracias por tus comentarios')</script>"; echo "<script language=\"javascript\" type=\"text/javascript\"> 
Alert('Debes rellenar todos los campos'); 
window.location.href=\"urladireccionar.php\"; 
</script>"


y no funciona

lo pongo como otro script aparte y me tira error en el }else{

podrias explicarme un pokito mejor no entiendo mucho sobre php me las arreglo como puedo.
  #4 (permalink)  
Antiguo 20/09/2005, 00:38
Avatar de DvD AdN  
Fecha de Ingreso: mayo-2005
Ubicación: Frente al monitor
Mensajes: 610
Antigüedad: 12 años, 7 meses
Puntos: 0
Como dijo Green Link debería funcionar

Prueba cambiandole las "" (comillas dobles) por '' (comilla simples) al echo; y que quede asi:

Código PHP:
echo '<script language="javascript" type="text/javascript">
Alert('
Debes rellenar todos los campos');
window.location.href="urladireccionar.php";
</script>'

__________________
Keep f***ing learning
Ask for f***ing help.
Use f***ing spell check.
Think about all the f***ing possibilities.
  #5 (permalink)  
Antiguo 20/09/2005, 00:55
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por FlashitoMXDream
se puede usar el script de redirecion normal??
¿y qué es para tí el "script de redirección normal"???.

Te aclaro que esto que te han mencionado y estás tratando de implementar NO es PHP sino JavaScript; PHP lo imprime, cierto, pero su función es independiente.

Si quisieses ocupar PHP tendrías que hacer uso de la función header(), por lo tanto, ya no podrías ocupar esos mensajes de alerta. Tema muy común: http://www.forosdelweb.com/f18/formulario-mail-320838/ << doy otra alternativa que te va a servir.

Respecto a el por qué no te funciona lo que te sugirieron seguramente es porque la función es alert() y no Alert(). Además, sugiero cambiar window por document:
Código PHP:
//si se pudo enviar
      
echo "<script language=\"javascript\" type=\"text/javascript\">alert('Gracias por tus comentarios')</script>"; echo "<script language=\"javascript\" type=\"text/javascript\">
alert('Debes rellenar todos los campos');
document.location.href=\"urladireccionar.php\";
</script>"

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 20/09/2005 a las 01:10
  #6 (permalink)  
Antiguo 20/09/2005, 10:50
 
Fecha de Ingreso: abril-2005
Mensajes: 130
Antigüedad: 12 años, 8 meses
Puntos: 0
De igual manera no me anda nose x k, cambie como dijiste el "windows" por "document" y sigue sin andar.

lo puse en distintos lugares y no anda.

Cuando mado el mail me sale el cartel de "Gracias por tus comentarios" y despues se keda la pagina en blanco y no pasa nada.

Alguien lo probo a esto ?? asi me dice si anda. x k a mi no me anda.

gracias
  #7 (permalink)  
Antiguo 20/09/2005, 11:37
 
Fecha de Ingreso: febrero-2005
Ubicación: Tamaulipas - México
Mensajes: 328
Antigüedad: 12 años, 10 meses
Puntos: 0
yo asi lo uso y no tengo ningun problema(no pongo: type=\"text/javascript\" por que lo veo inutil):
Código PHP:
echo "<script language= \"JavaScript\">
         alert('lo que dice');
       window.location.href=\"url.php\";
 </script>"

__________________
Facebook Like
  #8 (permalink)  
Antiguo 20/09/2005, 12:38
 
Fecha de Ingreso: abril-2005
Mensajes: 130
Antigüedad: 12 años, 8 meses
Puntos: 0
Ya lo pude solucionar.

Nose si tenia que hacer eso pero, borre el que decia gracias y puse el k me dieron y lito. Antes con los 2 no funcionaba.

Ahora si anda bien.

GRACIAS
  #9 (permalink)  
Antiguo 20/09/2005, 12:47
 
Fecha de Ingreso: abril-2005
Mensajes: 130
Antigüedad: 12 años, 8 meses
Puntos: 0
Ahora tengo otra duda.

Yo uso 2 hosting gratuitos
1° .- website
2° .- foro.

la funcion mail() la uso en el hosting 2° del foro. Por que en el otro no puedo usar esa funcion.

Puedo poner el formulario en el host 1° y la funcion mail () en el 2° ??
osea poner rl html en el 1° y el php en el 2°

como separo las cosas ??? y como hago para llamar al php desde la otra pag??

GRACIAS por su ayuda
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 07:23.