Comunidad de diseño web y desarrollo en internet online

Formulario PHP seleccionar Destinatario

Citar            
MensajeEscrito el 04 Ago 2016 06:16 pm
Hola! Estoy preparando una web basada en un template HTML5 (Puremedia).
Tiene un formulario de contacto que anda joya, sin embargo, me gustaria agregarle un menu desplegable para que la persona pueda seleccionar al destinatario que quiere enviar la consulta (mail1@mail.com, mail2@mail.com)
Intente con mis pobres conocimientos de PHP, sin embargo no logro hacerlo andar. Alguno me puede dar una mano?

Este es el html:

Código :

<form name="contactForm" id="contactForm" method="post" action=""> 

<fieldset> 
<div class="cont animate-box"> 
<select name="contactDestino"> 
<option value="mail1@mail.com">Destinatario Uno</option> 
<option value="mail2@mail.com">Destinatario Dos</option> 
</select> 
</div> 
<div class="cont-item animate-box"> 
<div class="form-group"> 
<label for="contactFname">Nombre <span class="required">*</span></label> 
<input class="form-control" name="contactFname" type="text" id="contactFname" placeholder="Nombre" value=""> 
</div> 
</div> 
<div class="cont-item animate-box"> 
<div class="form-group"> 
<label for="contactLname">Apellido <span class="required">*</span></label> 
<input class="form-control" name="contactLname" type="text" id="contactLname" placeholder="Apellido" value=""> 
</div> 
</div> 
<div class="cont-item animate-box"> 
<div class="form-group"> 
<label for="contactSubject">Teléfono</label> 
<input class="form-control" name="contactSubject" type="tel" id="contactSubject" placeholder="Telefono" value=""> 
</div> 
</div> 
<div class="cont-item animate-box"> 
<div class="form-group"> 
<label for="contactEmail">Email <span class="required">*</span></label> 
<input class="form-control"name="contactEmail" type="email" id="contactEmail" placeholder="Email" value=""> 
</div> 
</div> 
<div class="cont animate-box"> 
<div class="form-group"> 
<label for="contactMessage">Mensaje <span class="required">*</span></label> 
<textarea class="form-control" name="contactMessage" id="contactMessage" placeholder="Mensaje" cols="30" rows="7" placeholder="Message"></textarea> 
</div> 
</div> 
<div class="cont animate-box"> 
<div class="form-group"> 
<button class="submit btn btn-primary" type="submit">Enviar Formulario</button> 
<div id="image-loader"> 
<img src="images/loader.gif" alt="" /> 
</div> 
</div> 
</div> 

</fieldset> 
</form>



y este es el PHP

Código :

<?php 

// Replace this with your own email address 
$siteOwnersEmail = 'mimail@gmail.com'; 


if($_POST) { 

$fname = trim(stripslashes($_POST['contactFname'])); 
$lname = trim(stripslashes($_POST['contactLname'])); 
$email = trim(stripslashes($_POST['contactEmail'])); 
$subject = trim(stripslashes($_POST['contactSubject'])); 
$contact_message = trim(stripslashes($_POST['contactMessage'])); 

// Check First Name 
if (strlen($fname) < 2) { 
$error['fname'] = "Por favor introduzca su Nombre."; 
} 
// Check Last Name 
if (strlen($lname) < 2) { 
$error['lname'] = "Por favor introduzca su Apellido."; 
} 
// Check Email 
if (!preg_match('/^[a-z0-9&'.-_+]+@[a-z0-9-]+.([a-z0-9-]+.)*+[a-z]{2}/is', $email)) { 
$error['email'] = "Introduzca una direccion de correo válida (ejemplo@ejemplo.com)"; 
} 
// Check Message 
if (strlen($contact_message) < 10) { 
$error['message'] = "Su mensaje debe tener mas de 10 caracteres"; 
} 
// Subject 
if ($subject == '') { $subject = "A lo mejor es el asunto"; } 

// Set Name 
$name = $fname . " " . $lname; 

// Set Message 
$message .= "Email de: " . $name . "<br />"; 
$message .= "Email: " . $email . "<br />"; 
$message .= "Mensaje: <br />"; 
$message .= $contact_message; 
$message .= "<br /> ----- <br /> Este mensaje a sido enviado desde <br />"; 

// Set From: header 
$from = $name . " <" . $email . ">"; 

// Email Headers 
$headers = "From: " . $from . "rn"; 
$headers .= "Reply-To: ". $email . "rn"; 
$headers .= "MIME-Version: 1.0rn"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1rn"; 


if (!$error) { 

ini_set("sendmail_from", $siteOwnersEmail); // for windows server 
$mail = mail($siteOwnersEmail, $subject, $message, $headers); 

if ($mail) { echo "OK"; } 
else { echo "Something went wrong. Please try again."; } 

} # end if - no validation error 

else { 

$response = (isset($error['fname'])) ? $error['fname'] . "<br /> n" : null; 
$response .= (isset($error['lname'])) ? $error['lname'] . "<br /> n" : null; 
$response .= (isset($error['email'])) ? $error['email'] . "<br /> n" : null; 
$response .= (isset($error['message'])) ? $error['message'] . "<br />" : null; 

echo $response; 

} # end if - there was a validation error 


} 


?>


Alguno me podria dar una mano??? Graaaciasss

Por gordostock

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 04 Ago 2016 07:22 pm
No veo en ningún lado donde tengas

Código :

 $_POST['contactDestino'] 


Que es el código a quien va dirigido.

Por franqgeek

48 de clabLevel



Genero:Masculino  

Desarrollador Web

chrome
Citar            
MensajeEscrito el 05 Ago 2016 12:54 am
Hola! Ese fue mi primer intento

Código :

// Replace this with your own email address 
$siteOwnersEmail = $_POST['contactDestino'];


sin embargo, no anduvo.

Entonces probe de esta forma

Código :

$siteOwnersEmail = $destino; 


if($_POST) { 

$destino = trim(stripslashes($_POST['contactDestino'])); 


y tampoco anduvo.

En ninguno de los casos sale algun mensaje de error, ni nada, simplemente el formulario no se envia a ninguno de los correos.

Por gordostock

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 05 Ago 2016 07:43 pm
Olvidas una cosa:

el email tiene que salir de una cuenta propia, lo único que varia es el destinatario.

Es decir, imagina que tu "formulario" es una persona, y como persona debe tener su propio correo electrónico. Ese correo electrónico, no lo veo por ninguna parte.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

chrome

   Página 1 de 1

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.