Foros del Web » Programando para Internet » PHP »

redireccionar formulario php

Estas en el tema de redireccionar formulario php en el foro de PHP en Foros del Web. Hola, estoy haciendo una pagina web en dreamweaver, con un formulario de contacto. el formulario es este: <form id="contacto" name="contacto" method="post" action="enviar.php" > <p>&nbsp;</p> <p>&nbsp;</p> ...
  #1 (permalink)  
Antiguo 09/05/2011, 18:44
 
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 13 años
Puntos: 0
redireccionar formulario php

Hola, estoy haciendo una pagina web en dreamweaver, con un formulario de contacto.


el formulario es este:

<form id="contacto" name="contacto" method="post" action="enviar.php" >
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>
<label>Mensaje:<br />
<br />
</label>
<textarea name="mensaje" cols="50" rows="8" id="mensaje" ></textarea>
</p>
<p>


<input type="submit" name="submit" value="Enviar" />
</p>
<div id="apDiv14">
<label>E-mail : </label>
<input name="mail" type="text" id="mail" size=" "/>

</div>
<div id="apDiv13">
<label>Nombre:

<input name="nombre" type="text" id="nombre"/>
</label>
</div>
</form>





y el php es este:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>


<?php

$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$mensaje = $_POST['mensaje'];


if($nombre == "" || $mail == "" || $mensaje == ""){
$error=1;
}
elseif(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."."."\\.[a-z]{2,}",$mail))
{
$error=2;
}


if($error==1){
echo "<script> alert (\"Rellene los datos.\");
</script>";
echo "<script language=Javascript> location.href=\enviar.php\; </script>";
die();
}



if($error==2)
{
echo "<script> alert (\"Direccion de correo invalida.\");
</script>";
echo "<script language=Javascript> location.href=\enviar.php\; </script>";
die();
}



else{
$message ="nombre: ".$nombre."<br>";
$message .="email: ".$mail."<br>";
$message = stripslashes($message);
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type:text/html; charset=iso-8859-1\r\n";
$headers .= "From: $email\r\n";
$headers .= "Repaly-to: $email\r\n";
$headers .= "Cc: $email\r\n";
mail($recipiente,$asunto,$message,$headers);
echo "<b><h3>El mensaje ha sido enviado correctamente!</h3></b><BR><br><br>";
echo "Gracias por tu mensaje.<BR>Le mandaremos una respuesta lo mas antes posible.<BR><br>";
echo "<b>MI PAGINA</b><BR><br>";
echo "<A HREF='../index.html'><U>Regresar</U></A>.";
}


$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = 'miemail';
$asunto = 'Contacto web';


mail($para, $asunto, utf8_decode($mensaje), $header);


?>


<head>

ttp-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
</head>
<body >

</body>
</html>




Lo que quiero hacer es que al salir la ventana emergente cuando escribes mal la direccion, te lleve a la pagina del formulario (contacto.html) y no a enviar.php


Graciass!
  #2 (permalink)  
Antiguo 09/05/2011, 18:49
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: redireccionar formulario php

Es solo cuestión de verificar con expresiones regulares y mostrar uno o el otro. Debes usar las funciones de PCRE que son las que comienzan con preg_*.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 09/05/2011, 18:52
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: redireccionar formulario php

redirecciona con js de una vez!!!:

Código Javascript:
Ver original
  1. if($error==2)
  2. {
  3. echo "<script> alert (\"Direccion de correo invalida.\");
  4. window.location=\"contacto.html\"; //dentro del mismo bloque
  5. </script>";
  6. exit;
  7. }
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #4 (permalink)  
Antiguo 09/05/2011, 19:10
 
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 13 años
Puntos: 0
Respuesta: redireccionar formulario php

Graciass!
Lo hice con js
Se podria acer que no se borre el texto escrito en el mensaje al redireccionar?
Para ke no tengan ke escribir el mensaje otra vez.
gracias

Etiquetas: formulario
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 01:53.