Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2014, 16:10
sherift
 
Fecha de Ingreso: julio-2013
Mensajes: 25
Antigüedad: 11 años, 3 meses
Puntos: 0
Formulario PHP incluido en plantilla comprada no envia y me esta volviendo loco

Hola, pues me he comprado una plantilla web, el cual ya la tengo a mi gusto, pero me falta el tema del formulario.
El problema es que el formulario me esta volviendo loco, porque no me envia.

Tiene dos archivos uno en javascrip, que no entiendo, pero que supongo que no tenga que modificar y otro en php que supongo que ahi tenga que poner los datos del correo del destinatario etc. Pero cuando lo pongo, donde pienso que lo tengo que poner no me funciona. A ver si me podeis ayudar.

El codigo php es :

Código PHP:


<?php
    $owner_email 
$_POST["owner_email"];
    
$headers 'From:' $_POST["email"];
    
$subject 'A message from your site visitor ' $_POST["name"];
    
$messageBody "";
    
    if(
$_POST['name']!='nope'){
        
$messageBody .= '<p>Visitor: ' $_POST["name"] . '</p>' "\n";
        
$messageBody .= '<br>' "\n";
    }
    if(
$_POST['email']!='nope'){
        
$messageBody .= '<p>Email Address: ' $_POST['email'] . '</p>' "\n";
        
$messageBody .= '<br>' "\n";
    }else{
        
$headers '';
    }
    if(
$_POST['state']!='nope'){        
        
$messageBody .= '<p>State: ' $_POST['state'] . '</p>' "\n";
        
$messageBody .= '<br>' "\n";
    }
    if(
$_POST['phone']!='nope'){        
        
$messageBody .= '<p>Phone Number: ' $_POST['phone'] . '</p>' "\n";
        
$messageBody .= '<br>' "\n";
    }    
    if(
$_POST['fax']!='nope'){        
        
$messageBody .= '<p>Fax Number: ' $_POST['fax'] . '</p>' "\n";
        
$messageBody .= '<br>' "\n";
    }
    if(
$_POST['message']!='nope'){
        
$messageBody .= '<p>Message: ' $_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";
    }
?>

y luego tiene el archivo js que supongo que no tenga que modificar nada, decir que he modificado donde pone ''owneremail'', pero no consigo nada, hace como que envia pero nunca llega nada.

Este es el codigo js por si hace falta:


Código:
//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:'bat/MailHandler.php',
					ownerEmail:'[email protected]',
					stripHTML:true,
					smtpMailServer:'localhost',
					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'},
						".state":{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'},
						".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
						".fax":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,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)),
									phone:_.getValFromLabel($('.phone',_.form)),
									fax:_.getValFromLabel($('.fax',_.form)),
									state:_.getValFromLabel($('.state',_.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(){
	$('#form1').forms({
		ownerEmail:'#'
	})
})


Muchas gracias a todos los que me podais ayudar, a ver si poco a poco aprendo de formularios... Porque me llevan loco.

Gracias !!