Hola Gente!!! Veo que hay varios con problemas con el formulario de email... ups!!!
Yo tengo uno q anda muy bien y se puede usar ( salvo por un pequeño detalle para los perfecionistas ) q estaria bueno solucionar asi les queda a todos.
La cosa es asi: Yo quiero q los campos sean obligatorios, entonces si el usuario no escribe su nombre, sale un mensaje "dato necesario", esto funciona bien, pero lo q pasa es q cuando aparece el mensaje "dato necesario" en el campo de texto nombre es como si el usuario hubiera escrito su nombre y esto lo habilita a mandar el mensaje. Por lo q a mi me llega el mensaje perfecto salvo porq en el nombre figura: "dato necesario". Como puedo hacer para q cuando este tipeado "dato necesario" no quede habilitado el send... Aca van los Scripts.
Estos son los nombres de las instancias de los campos de introducción de texto (nombre_txt, email_txt, etc.)
stop();
enviar = function () {
if (email_txt.text.length && nombre_txt.length && mensaje_txt.length && telefono_txt.length && pais_txt.length) {
if (email_txt.text.indexOf("@") != -1 && email_txt.text.indexOf(".") != -1) {
form_lv = new LoadVars();
form_lv.nombre = nombre_txt.text;
form_lv.mail = email_txt.text;
form_lv.mensaje = mensaje_txt.text;
form_lv.telefono = telefono_txt.text;
form_lv.pais = pais_txt.text;
form_lv.sendAndLoad("http://www.tudominio.com.ar/send.php", form_lv, "POST");
mensaje_txt.text = "Enviando Mensaje..";
nombre_txt.text = "";
email_txt.text = "";
telefono_txt.text = "";
pais_txt.text = "";
form_lv.onLoad = function() {
if (this.estatus == "ok") {
mensaje_txt.text = "El mensaje ha sido enviado, muchas gracias!!!";
nombre_txt.text = "";
email_txt.text = "";
telefono_txt.text = "";
pais_txt.text = "";
} else {
mensaje_txt.text = "Error de servidor, intente más tarde";
}
};
} else {
email_txt.text = "Dirección de correo no válida";
}
} else {
if ( nombre_txt.text == "") {
nombre_txt.text = "Dato Necesario";
}
if (email_txt.text == "") {
email_txt.text = "Dato Necesario";
}
if (telefono_txt.text == "") {
telefono_txt.text = "Dato Necesario";
}
if(pais_txt.text == "") {
pais_txt.text = "Dato Necesario";
}
if( mensaje_txt.text == "") {
mensaje_txt.text = "Dato Necesario";
}
}
};
// Programacion del boton borrar
borrar = function () {
nombre_txt.text = "";
email_txt.text = "";
mensaje_txt.text = "";
telefono_txt.text = "";
pais_txt.text = "";
};
// asignamos los script a los botones
enviar_btn.onRelease = enviar;
borrar_btn.onRelease = borrar;
Acá va el PHP q anda de maravilla, para los q tienen problemas tengan cuidado con las comillas del php, a mi no me andaba hasta q me di cuenta q tenia unas comilas q no las leia, son las q abren y cierran. Las q andan bien son las derechitas
<?php
$_POST = ($_POST ? $_POST : $HTTP_POST_VARS);
// para agregar titulo agregar en el if: && isset($_POST["titulo"])
// y esto en contenido: $contenido .= $_POST["titulo"]." Título :\n";
//Para agregar mas campos:
//$contenido = $_POST["nombre"]." \n";
//$contenido .= $_POST["direccion"]." \n";
//$contenido .= $_POST["poblacion"]." \n";
//$contenido .= $_POST["provincia"]." \n";
//$contenido .= $_POST["codigopostal"]." \n";
//$contenido .= $_POST["telefono"]." \n";
//$contenido .= $_POST["email"]." \n";
//$contenido .= $_POST["modeloprenda"]." \n";
//$contenido .= $_POST["mensaje"]."\n\n";
if(isset($_POST["nombre"]) && isset($_POST["mail"]) && isset($_POST["mensaje"]) ){
$fecha = date("D-M-y H:i");
// Aca cambia el email
$mymail = "
[email protected]";
//Titulo Fijo
$subject = "Solicitud de información";
$contenido = $_POST["nombre"]." Escribio :\n";
$contenido .= $_POST["telefono"]." \n";
$contenido .= $_POST["pais"]." \n";
$contenido .= $_POST["mensaje"]."\n\n";
//$contenido .= "el mensaje se escribio el ".$fecha;
$header = "From:".$_POST["mail"]."\nReply-To:".$_POST["mail"]."\n";
$header .= "X-Mailer:PHP/".phpversion()."\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type: text/plain";
mail($mymail, $subject, utf8_decode($contenido) ,$header);
echo "&estatus=ok&";
}
?>