tengo un formulario y su script de ejecucion en un archivo a parte. este archivo "send.php" tiene dos funciones 1º validar el formulario y la 2º mandarlo a un email c on la funcion mail().
ambas cosas estan en un archivo externo el ya mencionado "send.php" pues bueno como ago para mandar por $_GET las variables de la validacion al archivo principal contactanos.php usando el GET??
os dejo el codigo.
send.php
Código PHP:
<?php
if (isset($_POST['submit']))
{
$nombre =$_POST["nombre"];
$email =$_POST["email"];
$contenido = $_POST["contenido"];
$error = "";
if(empty($nombre))
{
$error .= "Nombre <br>";
}
if(empty($email))
{
$error .= "email <br>";
}
if(empty($contenido))
{
$error .= "mensaje <br>";
}
if(!empty($error))
{
header("location:contactanos.php?error=$error");
}
else
{
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$para = $_POST['para'];
$asunto = $_POST['asunto'];
$contenido = $_POST['contenido'];
$para='[email protected]';
$asunto = 'formulario contacto';
$contenido=$contenido." <br><br>Correo: ".$email." <br>Nombre: ".$nombre;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type:text/html; charset=utf-8' . '\r\n';
//dirección del remitent
$headers .= 'From:' .$email . '\r\n';
if(mail($para, $asunto, $contenido,$headers))
{
$nombre = "";
$email = "";
$contenido="";
$mensaje = "mensaje enviado";
$rs = 1; // rs = resultado;
header("location:contactanos.php?rs=$rs");
}
}
}
?>
Código PHP:
<?php
if(isset($_GET['rs']))
{
$res = (int) $_GET['rs'] ;
}// el cast es por seguridad y evitar que te cuelen codigo por get.
if ($res)
{
echo " Mail enviado ";
}
else
{
echo " No se ha podido enviar el mail";
}
?>
<?php
if(isset($_GET['error']))
{
$res = (int) $_GET['error'] ;
}// el cast es por seguridad y evitar que te cuelen codigo por get.
if ($res)
{
echo " Mail enviado ";
}
else
{
echo "por favor, rellena los siguientes campos:<br>".$error;
}
?>
Código:
<form action="send.php" method="post"> <table> <tr> <td>Nombre:</td> </tr> <tr> <td><input name="nombre" type="text" class="nombre" value="<?php echo @$nombre ;?>"/></td> </tr> <tr> <td>email:</td> </tr> <tr> <td><input name="email" type="text" class="email" value="<?php echo @$email ;?>"/></td> </tr> <tr> <td>mensaje:</td> </tr> <tr> <td><textarea name="contenido" cols="45" rows="5" class="mensaje"><?php echo @$contenido ;?></textarea></td> </tr> <tr> <td><input name="submit" type="submit" class="enviar" value="enviar"/></td> </tr> </table><br /><br /><br /> </form>