Código HTML, PHP, JS

Denunciar
-
misterdekus
Publicaciones
244
Fecha de inscripción
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
domingo, 19 de enero de 2020
-
Hola,

Tengo los siguientes códigos para un formulario pero no he conseguido hacer que funcione. Podeis echarme una mano? Ya he cambiado el email, smtp.... y NADA :( soy novato... GRACIAS DE ANTEMANO.

<form id="form" action:"MailHandler.php">
<div class="success_wrapper">
<div class="success">Su consulta ha sido enviada!<br>
<strong>Entraremos en contacto a la mayor brevedad posible.</strong> </div></div>
<fieldset>
<label class="name">

<input type="text" value="Nombre:" name="name">
<br class="clear">
<span class="error error-empty">*Nombre inválido.</span><span class="empty error-empty">*Campo necesario.</span> </label>
<label class="email">
<input type="text" value="email:" name="email">
<br class="clear">
<span class="error error-empty">*email inválido.</span><span class="empty error-empty">*Campo necesario.</span> </label>
<label class="message">
<textarea name="message">Mensaje:</textarea>
<br class="clear">
<span class="error">*El mensaje es muy corto.</span> <span class="empty">*Campo necesario.</span> </label>
<div class="clear"></div>
<div class="btns"><a data-type="submit" class="link1">Enviar.</a>
<div class="clear"></div>
</div></fieldset></form>





<?php
$owner_email = "EMAIL@DOMINIO.X";
$headers = 'From:' . $_POST ["email"];
$subject = 'Nuevo mensaje desde el formulario ' . $_POST["name"];
$messageBody = "";

if($_POST['name']!='nope'){
$messageBody .= '<p>Cliente: ' . $_POST["name"] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['email']!='nope'){
$messageBody .= '<p>email: ' . $_POST['email'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}else{
$headers = '';
}
if($_POST['message']!='nope'){
$messageBody .= '<p>Mensaje: ' . $_POST['message'] . '</p>' . "\n";
}

if($_POST["stripHTML"] == 'true'){
$messageBody = strip_tags($messageBody);
}

try{
if(!mail($owner_email, $subject, $messageBody, $headers)){
throw new Exception('mail failed');
}else{
echo 'mail sent';
}
}catch(Exception $e){
echo $e->getMessage() ."\n";
}
?>



//forms
;(function($){
$.fn.forms=function(o){
return this.each(function(){
var th=$(this)
,_=th.data('forms')||{
errorCl:'error',
emptyCl:'empty',
invalidCl:'invalid',
notRequiredCl:'notRequired',
successCl:'success',
successShow:'4000',
mailHandlerURL:'MailHandler.php',
ownerEmail:'EMAIL@DOMINIO.X',
stripHTML:true,
smtpMailServer:'XXXXXXXX',
targets:'input,textarea',
controls:'a[data-type=reset],a[data-type=submit]',
validate:true,
rx:{
".name":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},

".email":{rx:/^(("[\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,target:'input'},

".message":{rx:/.{20}/,target:'textarea'}
},
preFu:function(){
_.labels.each(function(){
var label=$(this),
inp=$(_.targets,this),
defVal=inp.val(),
trueVal=(function(){
var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html()
return defVal==''?defVal:tmp
})()
trueVal!=defVal
&&inp.val(defVal=trueVal||defVal)
label.data({defVal:defVal})
inp
.bind('focus',function(){
inp.val()==defVal
&&(inp.val(''),_.hideEmptyFu(label),label.removeClass(_.invalidCl))
})
.bind('blur',function(){
_.validateFu(label)
if(_.isEmpty(label))
inp.val(defVal)
,_.hideErrorFu(label.removeClass(_.invalidCl))
})
.bind('keyup',function(){
label.hasClass(_.invalidCl)
&&_.validateFu(label)
})
label.find('.'+_.errorCl+',.'+_.emptyCl).css({display:'block'}).hide()
})
_.success=$('.'+_.successCl,_.form).hide()
},
isRequired:function(el){
return !el.hasClass(_.notRequiredCl)
},
isValid:function(el){
var ret=true
$.each(_.rx,function(k,d){
if(el.is(k))
ret=d.rx.test(el.find(d.target).val())
})
return ret
},
isEmpty:function(el){
var tmp
return (tmp=el.find(_.targets).val())==''||tmp==el.data('defVal')
},
validateFu:function(el){
el.each(function(){
var th=$(this)
,req=_.isRequired(th)
,empty=_.isEmpty(th)
,valid=_.isValid(th)

if(empty&&req)
_.showEmptyFu(th.addClass(_.invalidCl))
else
_.hideEmptyFu(th.removeClass(_.invalidCl))

if(!empty)
if(valid)
_.hideErrorFu(th.removeClass(_.invalidCl))
else
_.showErrorFu(th.addClass(_.invalidCl))
})
},
getValFromLabel:function(label){
var val=$('input,textarea',label).val()
,defVal=label.data('defVal')
return label.length?val==defVal?'nope':val:'nope'
}
,submitFu:function(){
_.validateFu(_.labels)
if(!_.form.has('.'+_.invalidCl).length)
$.ajax({
type: "POST",
url:_.mailHandlerURL,
data:{
name:_.getValFromLabel($('.name',_.form)),
email:_.getValFromLabel($('.email',_.form)),

message:_.getValFromLabel($('.message',_.form)),
owner_email:_.ownerEmail,
stripHTML:_.stripHTML
},
success: function(){
_.showFu()
}
})
},
showFu:function(){
_.success.slideDown(function(){
setTimeout(function(){
_.success.slideUp()
_.form.trigger('reset')
},_.successShow)
})
},
controlsFu:function(){
$(_.controls,_.form).each(function(){
var th=$(this)
th
.bind('click',function(){
_.form.trigger(th.data('type'))
return false
})
})
},
showErrorFu:function(label){
label.find('.'+_.errorCl).slideDown()
},
hideErrorFu:function(label){
label.find('.'+_.errorCl).slideUp()
},
showEmptyFu:function(label){
label.find('.'+_.emptyCl).slideDown()
_.hideErrorFu(label)
},
hideEmptyFu:function(label){
label.find('.'+_.emptyCl).slideUp()
},
init:function(){
_.form=_.me
_.labels=$('label',_.form)

_.preFu()

_.controlsFu()

_.form
.bind('submit',function(){
if(_.validate)
_.submitFu()
else
_.form[0].submit()
return false
})
.bind('reset',function(){
_.labels.removeClass(_.invalidCl)
_.labels.each(function(){
var th=$(this)
_.hideErrorFu(th)
_.hideEmptyFu(th)
})
})
_.form.trigger('reset')
}
}
_.me||_.init(_.me=th.data({forms:_}))
typeof o=='object'
&&$.extend(_,o)
})
}
})(jQuery)
$(window).load(function(){
$('#form').forms({
ownerEmail:'EMAIL@DOMINIO.X'
})
})

2 respuestas

Publicaciones
244
Fecha de inscripción
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
domingo, 19 de enero de 2020
23
Hola Venecox

a que te refieres con Ya he cambiado el email, smtp.... y NADA ?

No envia el correo, o que se supone que debe hacer la pagina

Saludos
Hola Misterdekus, gracias por tomarte la molestia. Sí, me refiero a que no envía el email. Lo he intentado todo y nada. Hace cuatro años más o menos lo hice funcionar pero no recuerdo cómo. Todos los códigos creo recordar que venían en un template pero entre que hace tiempo que lo hice funcionar y que soy novato pues no encuentro la manera de volver a hacerlo. Si puedes echarme una mano te lo agradeceré. Saludos.
misterdekus
Publicaciones
244
Fecha de inscripción
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
domingo, 19 de enero de 2020
23
creo que es el script ( el javascript ) el que no funciona
bueno si funciona , pero esta complejo dar con el punto del problema