Foros del Web » Programando para Internet » PHP »

Formulario para envio de emails

Estas en el tema de Formulario para envio de emails en el foro de PHP en Foros del Web. HOLA ESTOY HACIENDO UNA WEB CON UN FORMULARIO CON VALIDACION Y UN ARCHIVO PHP PARA ENVIAR EL RESULTADO DEL FORMULARIO A UN EMAIL. TODO VA ...
  #1 (permalink)  
Antiguo 23/02/2013, 10:14
 
Fecha de Ingreso: noviembre-2010
Mensajes: 48
Antigüedad: 13 años, 4 meses
Puntos: 1
Formulario para envio de emails

HOLA ESTOY HACIENDO UNA WEB CON UN FORMULARIO CON VALIDACION Y UN ARCHIVO PHP PARA ENVIAR EL RESULTADO DEL FORMULARIO A UN EMAIL.
TODO VA BIEN EL FORMULARIO ANDA PERFECTO LA VALIDACION TAMBIEN Y SE ENVIAN LOS EMAILS. EL UNICO TEMA ES QUE EN LOS EMAILS NO LLEGA LA INFORMACION QUE INGRESA LA PERSONA QUE LLENA EL FORMULARIO (LLEGAN LOS EMAILS PERO FALTA LA INFORMACION QUE INGRESA EL VISITANTE).


EL CODIGO DEL FORMULARIO QUE ESTA EN EL HTML ES:

<form action="php/quickcontact.php" method="post" id="contactwidget">
<div class="inp_l">
<div class="inp_r"><input type="text" name="wname" id="wname" value="Nombre" size="22" tabindex="11" alt="Nombre" /></div>
</div>

<div class="inp_l">
<div class="inp_r"><input type="text" name="wemail" id="wemail" value="Email" size="22" tabindex="12" alt="Email" /></div>
</div>
<table>
<tr>
<td class="text_t_l"></td>
<td class="text_t"></td>
<td class="text_t_r"></td>
</tr>
<tr>
<td class="text_l"></td>
<td class="text_m"><textarea name="wmessage" id="wmessage" cols="28" rows="6" tabindex="13" title="Mensaje">Mensaje</textarea></td>
<td class="text_r"></td>
</tr>
<tr>
<td class="text_b_l"></td>
<td class="text_b"></td>
<td class="text_b_r"></td>
</tr>
</table>
<div class="loading"></div>
<div><input type="hidden" name="wcontactemail" id="wcontactemail" value="[email protected]" /></div>
<div><input type="hidden" name="wcontacturl" id="wcontacturl" value="php/quickcontact.php" /></div>
<div><a href="php/quickcontact.php" id="wformsend" class="button" tabindex="14"><span>Enviar</span></a></div>
</form>


Y EL DEL ARCHIVO PHP DE ENVIO:

<?php
if ((isset($_POST['wname'])) && (strlen(trim($_POST['wname'])) > 0)) {
$contact_name = stripslashes(strip_tags($_POST['wname']));
} else {$contact_name = 'No contact name entered';}
if ((isset($_POST['wemail'])) && (strlen(trim($_POST['wemail'])) > 0)) {
$contact_email = stripslashes(strip_tags($_POST['wemail']));
} else {$contact_email = 'No email entered';}
if ((isset($_POST['wmessage'])) && (strlen(trim($_POST['wmessage'])) > 0)) {
$contact_message = stripslashes(strip_tags($_POST['wmessage']));
} else {$contact_message = 'No message entered';}
ob_start();
?>
<html>
<head>
<style type="text/css">
</style>
</head>
<body>
<table width="550" border="1" cellspacing="2" cellpadding="2">
<tr bgcolor="#eeffee">
<td>Name</td>
<td><?=$wname;?></td>
</tr>
<tr bgcolor="#eeeeff">
<td>Email</td>
<td><?=$wemail;?></td>
</tr>
<tr bgcolor="#eeeeff">
<td>Message</td>
<td><?=$wmessage;?></td>
</tr>
</table>
</body>
</html>
<?
$body = ob_get_contents();

$to = '[email protected]';
$email = '[email protected]';
$fromaddress = "[email protected]";
$fromname = "Online Contact";

require("phpmailer.php");

$mail = new PHPMailer();

$mail->From = "[email protected]";
$mail->FromName = "Contacto";
$mail->AddAddress("[email protected]","Pablo"); //change to your email address

$mail->WordWrap = 50;
$mail->IsHTML(true);

$mail->Subject = "Quickcontact: Mensaje recibido";
$mail->Body = $body;
$mail->AltBody = "This is the text-only body";

if(!$mail->Send()) {
$recipient = '[email protected]'; //change to your email address
$subject = 'contactwidget failed';
$content = $body;
mail($recipient, $subject, $content, "From: [email protected]\r\nReply-To: $email\r\nX-Mailer: DT_formmail");
exit;
}
?>

EL FORMULARIO SE ENVIA PERFECTO LLEGA EL EMAIL PERFECTO. TAMBIEN LLEGA EN EL CUERPO DEL MENSAJE LA TABLA ESPECIFICADA EN EL ARCHIVO PHP PERO EN ESTA TABLA NO SE VEN LOS DATOS QUE ESCRIBE EL VISITANTE. ES DECIR EN EL MENSAJE RECIBIDO SE VE:

Name: FALTAN AQUI DATOS
Email: FALTAN AQUI LOS DATOS
Message: FALTAN AQUI LOS DATOS

NO SE CARGAN LOS DATOS INGRESADOS AL LLENAR EL FORMULARIO. SUPONGO QUE DEBE HABER UN ERROR DE RELACION ENTRE LAS ETIQUETAS DEL FORMULARIO Y LAS DEL ARCHIVO PHP PARA QUE ESTE CARGUE LA INFORMACION.
MUCHAS GRACIS
  #2 (permalink)  
Antiguo 23/02/2013, 11:00
Avatar de Knight_Rider  
Fecha de Ingreso: noviembre-2009
Ubicación: La House de mis viejos XD
Mensajes: 83
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: Formaulario envio emails

Te lo pondré facil... porque veo muuuuuuchas cosas inecesarias.. y viendo tablas en vez de css ya me muero del susto... pero bueno...

Y lo mas importante... recoge las variables!!!!

Código HTML:
<script type="text/javascript">
function validar()       
{ 
    if (document.forma.nombre.value.length==0){ 
       alert("Tiene que escribir su nombre") 
       document.forma.nombre.focus() 
       return 0; 
    } 
	   var email=/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/
	   if(!email.test(forma.email.value)) {    
        alert('Contenido del campo Email no válido.')   
        return 0;
	}
    if (document.forma.mens.value.length==0){ 
       alert("¿¡No hay mensaje!?.") 
       document.forma.userfile1.focus() 
       return 0;
 }
    document.forma.submit(); 
} 
</script>
</head>
<body>
<div id="Centrado">
<div id="text">
<form name="forma" onsubmit =""return validar()"" action="contactt.php" method="post" enctype="multipart/form-data">
    <h1>&nbsp;Contactar</h1>
    <label for="name"><span class="Estilo5">Nombre*:</span></label>
    <br />
    <input type="text" name="nombre" size="50" maxlength="100" />
    <br />
    <label for="email"><span class="Estilo5"> Email *:</span></label>
    <br />
    <input type="text" name="email" size="50" maxlength="200"  checked="checked" />
    <br />
    <label for="ciudad"><span class="Estilo5">Ciudad:</span><br />
    </label>
    <input type="text" name="ciudad" size="50" />
    <br />
         <label for="mens"><span class="Estilo5">Comentarios:</span></label>
    <br />
      <textarea name="mens" rows="10" cols="45" checked="checked" ></textarea>
    <p>
      <input type="button" value="Enviar" onclick="validar()"/>
  </p>
</form>
</div>
</div>
</body>
</html> 
Procesa.php:
Código PHP:

//variables de los valores tipo texto del formulario 
$nombre $_POST["nombre"];
$email $_POST["email"];
$ciudad $_POST["ciudad"];
$mens $_POST["mens"]; //Importante recoger las variables que envía el formulario... php es la leche... pero no es adivino...

//Esto es un extra para que el usuario vea qué ha enviado en su pantalla...
//Notificación web
echo "<p class='Estilo1'>Gracias por contactar " $nombre"</p>"
echo 
"<p class='Estilo1'>Pronto responderemos en " $email "</p>";
echo 
"<p class='Estilo1'>Al mensaje recibido: </p>";
echo 
"<p class='Estilo1'>" $mens "</p>";

// Envío de mail para admin.
//Definimos las cabeceras del mensaje... no es la parte de arriba del mensaje.... 
// Es lo que define que es un mail a quien va.. etc...
$header "From: [email protected] \r\n"//puedes poner que viene de notificacionesweb... o de $email
$header .= "Reply-To: ".$email."\r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain; charset=UTF-8";

// importante montar qué vamos a escribir en el mensaje
$mensaje "Se acaba de recibir un cotacto de: " $nombre " de la ciudad de: " $ciudad "\r\n";
$mensaje .= "Su e-mail es: " $email " \r\n";
$mensaje .= "Este es su mensaje: \r\n";
$mensaje .= $mens "\r\n";
$mensaje .= "\r\n";
$mensaje .= "Es posible que se requiera una respuesta. \r\n";
// el asunto... claro... y personalizado!
$asunto 'Contacto de $nombre.';

$para "[email protected]";// aqui el email a quien va dirigido el correo...
mail($para$asunto$mensaje$header);

?> 
Con la versión que yo te escribo.. te ahorras phpmailer... para qué cargar con cosas innecesarias?

Porqué usar tablas en un mail... para lo que vas a leer...?

En definitiva... te ofrezco el mismo resultado... y mas fácil...

Y,... si aún así.. prefieres lo tuyo..
prueba a no cerrar tu mensaje y haz algo mas similar a mi sistema. A ver si te funciona.
  #3 (permalink)  
Antiguo 23/02/2013, 12:50
 
Fecha de Ingreso: noviembre-2010
Mensajes: 48
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Formaulario envio emails

HOLA POR EMPEZAR SOS UN GENIO TE AGRADEZCO MUCHO POR AYUDARME. ME SIRVIO MUCHO LO QUE EXPLICASTE PARA ACLARARME ALGUNAS COSAS Y LIMPIAR EL CODIGO. PERO EL FORMULARIO SIGUE SIN FUNCIONAR DEL TODO.
ADAPTE EL FORMULARIO UN POCO Y SIGUE ENVIANDO LOS EMAILS. ESTOS LLEGAN BIEN PERO COMO ANTES SUCEDIA NO LLEGA LA INFORMACION QUE EL VISITANTE INGRESA EN EL FOMULARIO
LOS EMAIL AHORA LLEGAN ASI:

Se acaba de recibir un cotacto de:
Su e-mail es:
Este es su mensaje:


Es posible que se requiera una respuesta.

FALTA LA INFORMACION QUE UNO ENVIA. ME PARECE QUE EL PHP NO RECOGE LAS VARIABLES DEL FORMULRIO. EL TEMA ES QUE NO PUEDO MODIFICAR MUCHO EL FORMULARIO PORQUE SINO NO FUNCIONA LA VALIDACION Y NO SE VE BIEN EN LA PAGINA. EJ: CAMBIE EL BOTON ENVIAR A INPUT Y SE ME DEFORMA EL DISEÑO Y LA VALIDACION DEL FORMULARIO.

EL CODIGO QUEDO ASI POR AHORA:

FORM HTML:

<form action="php/enviar.php" method="post" id="contactwidget">
<div class="inp_l">
<div class="inp_r"><input type="text" name="wname" id="wname" value="Nombre" size="22" tabindex="11" alt="Nombre" /></div>
</div>

<div class="inp_l">
<div class="inp_r"><input type="text" name="wemail" id="wemail" value="Email" size="22" tabindex="12" alt="Email" /></div>
</div>
<table>
<tr>
<td class="text_t_l"></td>
<td class="text_t"></td>
<td class="text_t_r"></td>
</tr>
<tr>
<td class="text_l"></td>
<td class="text_m"><textarea name="wmessage" id="wmessage" cols="28" rows="6" tabindex="13" title="Mensaje">Mensaje</textarea></td>
<td class="text_r"></td>
</tr>
<tr>
<td class="text_b_l"></td>
<td class="text_b"></td>
<td class="text_b_r"></td>
</tr>
</table>
<div class="loading"></div>
<div><input type="hidden" name="wcontactemail" id="wcontactemail" value="[email protected]" /></div>
<div><input type="hidden" name="wcontacturl" id="wcontacturl" value="php/enviar.php" /></div>
<div><a href="php/enviar.php" id="wformsend" class="button" tabindex="14"><span>Enviar</span></a></div>
</form>



CODIGO PHP:


<?php

//variables de los valores tipo texto del formulario
$wname = $_POST["wname"];
$wemail = $_POST["wemail"];
$wmessage = $_POST["wmessage"]; //Importante recoger las variables que envía el formulario... php es la leche... pero no es adivino...

//Esto es un extra para que el usuario vea qué ha enviado en su pantalla...
//Notificación web
echo "<p class='Estilo1'>Gracias por contactar " . $wname . "</p>";
echo "<p class='Estilo1'>Pronto responderemos en " . $wemail . "</p>";
echo "<p class='Estilo1'>Al mensaje recibido: </p>";
echo "<p class='Estilo1'>" . $wmessage . "</p>";

// Envío de mail para admin.
//Definimos las cabeceras del mensaje... no es la parte de arriba del mensaje....
// Es lo que define que es un mail a quien va.. etc...
$header = "From: [email protected] \r\n"; //puedes poner que viene de notificacionesweb... o de $email
$header .= "Reply-To: ".$wemail."\r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain; charset=UTF-8";

// importante montar qué vamos a escribir en el mensaje
$mensaje = "Se acaba de recibir un cotacto de: " . $wname . "\r\n";
$mensaje .= "Su e-mail es: " . $wemail . " \r\n";
$mensaje .= "Este es su mensaje: \r\n";
$mensaje .= $wmessage . "\r\n";
$mensaje .= "\r\n";
$mensaje .= "Es posible que se requiera una respuesta. \r\n";
// el asunto... claro... y personalizado!
$asunto = 'Contacto de $nombre.';

$para = "[email protected]";// aqui el email a quien va dirigido el correo...
mail($para, $asunto, $mensaje, $header);

?>

DESDE YA NUEVAMENTE MUCHAS GRACIAS
  #4 (permalink)  
Antiguo 23/02/2013, 12:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Formaulario envio emails

Ese formulario jamás va a funcionar correctamente si la acción de "enviar" es un enlace, así de simple, debes usar un campo submit per se.

Si se descuadra el diseño tendrás que corregirlo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/02/2013, 15:21
 
Fecha de Ingreso: noviembre-2010
Mensajes: 48
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Formaulario envio emails

HICE LO QUE ME DIJISTE PERO AL PONER EL BOTON EN SUBMIT LOGRA ENVIAR EL FORMULARIO CON LOS DATOS AL EMAIL (LLEGAN LOS DATOS INGRESADOS) PERO EL FORMULARIO NO HACE LA VALIDACION Y AL HACER CLICK ME ENVIA EN EL NAVEGADOR A UNA VENTANA CON LA PAGINA PHP DE ENVIO DONDE SE VE LA TABLA Y LOS DATOS.
ESTARIA BUENO BUSCAR ALGUNA COMBINACION ENTRE:

1) ESTE CODIGO

<div><a href="php/enviar.php" id="wformsend" class="button" tabindex="14"><span>Enviar</span></a></div>

(EL CUAL ME PERMITE HACER LA VALIDACION Y VER EL MENSAJE DE ENVIADO PERFECTAMENTE )

Y

2) ESTE OTRO:

<input type="submit" value="Enviar" />

(QUE ME PERMITE ENVIAR EL FORMULARIO CON LOS DATOS PERFECTAMENTE)

SE PODRAN COMBINAR AMBOS?
  #6 (permalink)  
Antiguo 23/02/2013, 15:46
Avatar de Knight_Rider  
Fecha de Ingreso: noviembre-2009
Ubicación: La House de mis viejos XD
Mensajes: 83
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: Formaulario envio emails

Como te dije en el mp,... aquí nadie ve nada que esté validando nada mediante ese a href... en cambio lo que yo te pasé de forma ruda, con javascripts y alerts.. pero te lo valida... y te envía los datos...

La verdad es que estoy muy perdido con eso de que quieres validar algo... con un botón.. que no está activando ningún validador... O.o
  #7 (permalink)  
Antiguo 23/02/2013, 16:16
 
Fecha de Ingreso: noviembre-2010
Mensajes: 48
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Formaulario envio emails

COMPROBE QUE EL BOTON DEL FORMULARIO NO NECESITA EL CODIGO php/enviar.php PARA VALIDAR COLOCANDO # TAMBIEN FUNCIONA

<div><a href="php/enviar.php o #" id="wformsend" class="button" tabindex="14"><span>Enviar</span></a></div>

PERO DEJA DE FUNCIONAR SI QUITO EL LINK <a href=... NO SE PORQUE. SE VE QUE FORMA PARTE DEL WIDGET (JAVASCRIPT) DEL SITIO QUE AVISA SI FALTA ALGUN DATO Y CUANDO EL EMAIL SE HA ENVIADO. LO QUE HABRIA QUE HACER ES VER SI EN ALGUNA PARTE DEL FORMULARIO SE PERMITE PONER EL INPUT MAS QUE NADA COMBINARLO CON EL BOTON ENVIAR SUPONGO
  #8 (permalink)  
Antiguo 24/02/2013, 07:16
Avatar de Knight_Rider  
Fecha de Ingreso: noviembre-2009
Ubicación: La House de mis viejos XD
Mensajes: 83
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: Formaulario envio emails

Cita:
Iniciado por pabloem1972 Ver Mensaje
COMPROBE QUE EL BOTON DEL FORMULARIO NO NECESITA EL CODIGO php/enviar.php PARA VALIDAR COLOCANDO # TAMBIEN FUNCIONA

<div><a href="php/enviar.php o #" id="wformsend" class="button" tabindex="14"><span>Enviar</span></a></div>

PERO DEJA DE FUNCIONAR SI QUITO EL LINK <a href=... NO SE PORQUE. SE VE QUE FORMA PARTE DEL WIDGET (JAVASCRIPT) DEL SITIO QUE AVISA SI FALTA ALGUN DATO Y CUANDO EL EMAIL SE HA ENVIADO. LO QUE HABRIA QUE HACER ES VER SI EN ALGUNA PARTE DEL FORMULARIO SE PERMITE PONER EL INPUT MAS QUE NADA COMBINARLO CON EL BOTON ENVIAR SUPONGO
Vale,... y si no vemos el codigo validador... como se supone que tenemos que hacer uso de el? El codigo validador no creo que sea un tesoro... comparte tu tesoro con nosotros para que encontremos una solucion...
  #9 (permalink)  
Antiguo 24/02/2013, 12:41
 
Fecha de Ingreso: noviembre-2010
Mensajes: 48
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Formulario para envio de emails

PARTE DEL JAVASCRIPT DONDE FIGURA EL VALIDADOR (PARA LOS FORMULARIOS DEL SITIO SON 2 EN TOTAL)

................................


jQuery('#contactwidget input#wname').each(function(i){
jQuery(this).focus(function(){
if (jQuery(this).val() == 'Nombre'){
jQuery(this).val('');
}
});
jQuery(this).blur(function(){
if (jQuery(this).val() == '' || jQuery(this).val() == ' '){
jQuery(this).val('Nombre');
}
});
}); //Contact Widget Name

jQuery('#contactwidget input#wemail').each(function(i){
jQuery(this).focus(function(){
if (jQuery(this).val() == 'Email'){
jQuery(this).val('');
}
});
jQuery(this).blur(function(){
if (jQuery(this).val() == '' || jQuery(this).val() == ' '){
jQuery(this).val('Email');
}
});
}); //Contact Widget Email

jQuery('#contactwidget textarea#wmessage').each(function(i){
jQuery(this).focus(function(){
if (jQuery(this).val() == 'Mensaje'){
jQuery(this).val('');
}
});
jQuery(this).blur(function(){
if (jQuery(this).val() == '' || jQuery(this).val() == ' '){
jQuery(this).val('Mensaje');
}
});
}); //Contact Widget Message
jQuery('#middle .post:last').css({background:'none', margin:0}); //Last Post Fixes
if (jQuery('#middle .related_posts').next().attr('id') != 'comments'){
jQuery('#middle .related_posts').css({background:'none'});
} //Last Post Fixes
});

.................................................. ..........


/* Form */
function submitform() {
document.forms['commentform'].submit();
return false;
};



/* Contact Form */
function checkemail(emailaddress){
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(emailaddress);
}

jQuery(document).ready(function(){
jQuery('#contactform a#formsend').click(function(){
var $name = jQuery('#name').val();
var $email = jQuery('#email').val();
var $subject = jQuery('#subject').val();
var $url = jQuery('#url').val();
var $message = jQuery('#message').val();
var $contactemail = jQuery('#contactemail').val();
var $contacturl = jQuery('#contacturl').val();
if ($name != '' && $name.length < 3){ $nameshort = true; } else { $nameshort = false; }
if ($name != '' && $name.length > 30){ $namelong = true; } else { $namelong = false; }
if ($email != '' && checkemail($email)){ $emailerror = true; } else { $emailerror = false; }
if ($subject != '' && $subject.length < 3){ $subjectshort = true; } else { $subjectshort = false; }
if ($subject != '' && $subject.length > 100){ $subjectlong = true; } else { $subjectlong = false; }
if ($url == ''){ $url = 'none'; }
if ($message != '' && $message.length < 3){ $messageshort = true; } else { $messageshort = false; }
jQuery('#contactform .loading').animate({opacity: 1}, 250);
if ($name != '' && $nameshort != true && $namelong != true && $email != '' && $emailerror != false && $subject != '' && $subjectshort != true && $subjectlong != true && $message != '' && $messageshort != true && $contactemail != '' && $contacturl != ''){
jQuery.post($contacturl,
{contactemail: $contactemail, name: $name, email: $email, subject: $subject, website: $url, message: $message},
function(data){
jQuery('#contactform .loading').animate({opacity: 0}, 250);
jQuery('.entry div.contform').fadeOut('slow');
jQuery('#name, #subject, #url, #email, #message').val('');
jQuery('#contactform div.form_info div.form_error').hide();
jQuery('.entry .box').hide();
jQuery('.entry .info_box').fadeIn('fast');
jQuery('html, body').animate({scrollTop:750}, 'slow');
jQuery('.entry .info_box').delay(5000).fadeOut(1000, function(){
jQuery('.entry div.contform').fadeIn('slow');
});
}
);
return false;
} else {
jQuery('#contactform .loading').animate({opacity: 0}, 250);
jQuery('.entry .box').hide();
jQuery('.entry .error_box').fadeIn('fast');
jQuery('html, body').animate({scrollTop:750}, 'slow');
jQuery('.entry .error_box').delay(5000).fadeOut('slow');
if ($name == ''){
jQuery('#name').parent().parent().parent().find('d iv.form_error').hide();
jQuery('#name').parent().parent().parent().find('d iv.defaulterror').show();
} else if ($nameshort == true){
jQuery('#name').parent().parent().parent().find('d iv.form_error').hide();
jQuery('#name').parent().parent().parent().find('d iv.shorterror').show();
} else if ($namelong == true){
jQuery('#name').parent().parent().parent().find('d iv.form_error').hide();
jQuery('#name').parent().parent().parent().find('d iv.longerror').show();
} else {
jQuery('#name').parent().parent().parent().find('d iv.form_error').hide();
}
if ($email == ''){
jQuery('#email').parent().parent().parent().find(' div.form_error').hide();
jQuery('#email').parent().parent().parent().find(' div.defaulterror').show();
} else if ($emailerror == false){
jQuery('#email').parent().parent().parent().find(' div.form_error').hide();
jQuery('#email').parent().parent().parent().find(' div.invaliderror').show();
} else {
jQuery('#email').parent().parent().parent().find(' div.form_error').hide();
}
if ($subject == ''){
jQuery('#subject').parent().parent().parent().find ('div.form_error').hide();
jQuery('#subject').parent().parent().parent().find ('div.defaulterror').show();
} else if ($subjectshort == true){
jQuery('#subject').parent().parent().parent().find ('div.form_error').hide();
jQuery('#subject').parent().parent().parent().find ('div.shorterror').show();
} else if ($subjectlong == true){
jQuery('#subject').parent().parent().parent().find ('div.form_error').hide();
jQuery('#subject').parent().parent().parent().find ('div.longerror').show();
} else {
jQuery('#subject').parent().parent().parent().find ('div.form_error').hide();
}
if ($message == ''){
jQuery('#message').parent().parent().parent().pare nt().parent().find('div.form_error').hide();
jQuery('#message').parent().parent().parent().pare nt().parent().find('div.defaulterror').show();
} else if ($messageshort == true){
jQuery('#message').parent().parent().parent().pare nt().parent().find('div.form_error').hide();
jQuery('#message').parent().parent().parent().pare nt().parent().find('div.shorterror').show();
} else {
jQuery('#message').parent().parent().parent().pare nt().parent().find('div.form_error').hide();
}
return false;
}
});
});

jQuery(document).ready(function(){
jQuery('#contactwidget a#wformsend').click(function(){
var $name = jQuery('#wname').val();
var $email = jQuery('#wemail').val();
var $message = jQuery('#wmessage').val();
var $contactemail = jQuery('#wcontactemail').val();
var $contacturl = jQuery('#wcontacturl').val();
if ($name != '' && $name.length < 3){ $nameshort = true; } else { $nameshort = false; }
if ($name != '' && $name.length > 30){ $namelong = true; } else { $namelong = false; }
if ($email != '' && checkemail($email)){ $emailerror = true; } else { $emailerror = false; }
if ($message != '' && $message.length < 3){ $messageshort = true; } else { $messageshort = false; }
jQuery('#contactwidget .loading').animate({opacity: 1}, 250);
if ($name != '' && $nameshort != true && $namelong != true && $email != '' && $emailerror != false && $message != '' && $messageshort != true && $contactemail != '' && $contacturl != ''){
jQuery.post($contacturl,
{contactemail: $contactemail, name: $name, email: $email, message: $message},
function(data){
jQuery('#contactwidget .loading').animate({opacity: 0}, 250);
jQuery('.form').fadeOut();
jQuery('#bottom #wname, #bottom #wemail, #bottom #wmessage').css({'border-bottom':'0'});
jQuery('.widgeterror').hide();
jQuery('.widgetinfo').fadeIn('slow');
jQuery('.widgetinfo').delay(5000).fadeOut(1000, function(){
jQuery('#wname').val(jQuery('#wname').attr('alt')) ;
jQuery('#wemail').val(jQuery('#wemail').attr('alt' ));
jQuery('#wmessage').val(jQuery('#wmessage').attr(' title'));
jQuery('.form').fadeIn('slow');
});
}
);
return false;
} else {
jQuery('#contactwidget .loading').animate({opacity: 0}, 250);
jQuery('.widgeterror').hide();
jQuery('.widgeterror').fadeIn('fast');
jQuery('.widgeterror').delay(5000).fadeOut(1000);
if ($name == '' || $nameshort == true || $namelong == true){
jQuery('#wname').css({'border-bottom':'1px solid #dd2200'});
} else {
jQuery('#bottom #wname').css({'border-bottom':'0'});
}
if ($email == '' || $emailerror == false){
jQuery('#wemail').css({'border-bottom':'1px solid #dd2200'});
} else {
jQuery('#bottom #wemail').css({'border-bottom':'0'});
}
if ($message == '' || $messageshort == true){
jQuery('#wmessage').css({'border-bottom':'1px solid #dd2200'});
} else {
jQuery('#bottom #wmessage').css({'border-bottom':'0'});
}
return false;
}
});
});


GRACIAS
  #10 (permalink)  
Antiguo 24/02/2013, 12:43
 
Fecha de Ingreso: noviembre-2010
Mensajes: 48
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Formulario para envio de emails

TAMBIEN ENVIO EL CODIGO DEL FORMULARIO QUE FIGURA EN EL HTML UN POCO MAS AMPLIADO DONDE SE VEN LOS MENSAJES DE "ENVIADO" O "NO SE PUDO ENVIAR"

<div class="widget widget_custom_contact_form_entries">
<div class="one_fourth">
<h3>Contáctenos</h3>
<div class="widgeterror">Su mensaje no pudo ser enviado<br />Los datos ingresados son erróneos o están incompletos!</div>
<div class="widgetinfo">Gracias! <br />Su mensaje ha sido enviado. Nos comunicaremos con usted a la brevedad</div>
<div class="form">
<form action="php/enviar2.php" method="post" id="contactwidget">
<div class="inp_l">
<div class="inp_r"><input type="text" name="wname" id="wname" value="Nombre" size="22" tabindex="11" alt="Nombre" /></div>
</div>

<div class="inp_l">
<div class="inp_r"><input type="text" name="wemail" id="wemail" value="Email" size="22" tabindex="12" alt="Email" /></div>
</div>
<table>
<tr>
<td class="text_t_l"></td>
<td class="text_t"></td>
<td class="text_t_r"></td>
</tr>
<tr>
<td class="text_l"></td>
<td class="text_m"><textarea name="wmessage" id="wmessage" cols="28" rows="6" tabindex="13" title="Mensaje">Mensaje</textarea></td>
<td class="text_r"></td>
</tr>
<tr>
<td class="text_b_l"></td>
<td class="text_b"></td>
<td class="text_b_r"></td>
</tr>
</table>
<div class="loading"></div>
<div><input type="hidden" name="wcontactemail" id="wcontactemail" value="[email protected]" /></div>
<div><input type="hidden" name="wcontacturl" id="wcontacturl" value="php/enviar2.php" /></div>

<div><a href="#" id="wformsend" class="button" tabindex="14"><span>Enviar</span></a></div>
</form>


GRACIAS
  #11 (permalink)  
Antiguo 24/02/2013, 13:27
 
Fecha de Ingreso: noviembre-2010
Mensajes: 48
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Formulario para envio de emails

EL CODIGO QUE HACE QUE EL FORMULARIO SE ENVIE POR EMAIL ES EL QUE ESTA MARCADO (SIN ESE CODIGO EL FORMULARIO NO SE ENVIA)

</table>
<div class="loading"></div>
<div><input type="hidden" name="wcontactemail" id="wcontactemail" value="[email protected]" /></div>
<div><input type="hidden" name="wcontacturl" id="wcontacturl" value="php/enviar3.php" /></div>

<div><a href="#" id="wformsend" class="button" tabindex="14"><span>Enviar</span></a></div>
</form>

CON ESE CODIGO EL FORMULARIO SE ENVIA PERFECTO PERO LOS DATOS LLEGAN ASI:

Name:
Email:
Message:

ES DECIR FALTAN LOS DATOS CARGADOS EN EL FORMULARIO

TENDRA QUE VER ESTE CODIGO?

</table>
<div class="loading"></div>
<div><input type="hidden" name="wcontactemail" id="wcontactemail" value="[email protected]" /></div>
<div><input type="hidden" name="wcontacturl" id="wcontacturl" value="php/enviar3.php" /></div>

<div><a href="#" id="wformsend" class="button" tabindex="14"><span>Enviar</span></a></div>
</form>
  #12 (permalink)  
Antiguo 24/02/2013, 16:41
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Formulario para envio de emails

POR FAVOR USEN EL RESALTADOR DE CODIGO, QUEMA LOS OJOS VER HARTO CODIGO TIRADO...

Usa una variable $body para enviar los mensajes de esta manera
Código PHP:
Ver original
  1. if(isset($_GET['mensaje'])){
  2.  
  3. $nombre= $_GET['nombre'];
  4.  
  5. $email= $_GET['email'];
  6.  
  7. $mensaje= $_GET['mensaje'];
  8.  
  9.       $body .= "El cliente <i>".$nombre."<i>.<br><br>";
  10.  
  11.       $body .= "Cuyo email es: <font color='red'>".$email."</font>";
  12.      
  13.      $body .= "<p>Ha escrito: ".$mensaje."</p>";
  14.  
  15.       $mail->Body = $body;
  16. }
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #13 (permalink)  
Antiguo 24/02/2013, 17:15
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Formulario para envio de emails

El problema es que a este señor (pabloem1972 ) se le explican las cosas y en lugar de tratar de arreglar los entuertos que tiene , cada vez tira más código, en forma desorganizada y sin corregir los errores que ya se le han señalado

Foro de Ayuda general
http://www.forosdelweb.com/f2/formul...n-php-1038838/

Foro de javascript
http://www.forosdelweb.com/f13/forma...mails-1038884/

Foro de Php
http://www.forosdelweb.com/f18/formu...mails-1038885/

Foro de HTML
http://www.forosdelweb.com/f4/formul...ables-1039044/

Foro de Diseño Web
http://www.forosdelweb.com/f91/formu...ables-1039046/

Foro de Jquery
http://www.forosdelweb.com/f179/form...ables-1039047/


Obvio, como uno no arranca haciendo una investigación policíaca, lee un post, y le contesta con la mejor buena voluntad, a mi enganchó en el del Foro de Ayuda General. Para terminar dándonos cuenta que nos está tomando el pelo

__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 24/02/2013 a las 17:22
  #14 (permalink)  
Antiguo 24/02/2013, 19:42
 
Fecha de Ingreso: noviembre-2010
Mensajes: 48
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Formulario para envio de emails

Les pido nuevamnete perdon por haber colocado el tema en varios foros. Lo que pasa es que no sabia donde ubicarlo bien ya que engloba muchos temas (javascript, jquerry, php. Etc) y no sabia donde podian contestarme mejor mi intension no es causar problemas todo lo contrario. Siempre estuve a favor de los foros y me registre en este porque me parece unos de los mejores. No va a volver a pasar.
Perdon nuevamente y muchas gracias a los que me ayudaron de buena fe
  #15 (permalink)  
Antiguo 25/02/2013, 12:46
 
Fecha de Ingreso: noviembre-2010
Mensajes: 48
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Formulario para envio de emails

probe con el codigo con GET pero ni siquiera se ve la tabla que nates se veia con POST

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 05:31.