Ver Mensaje Individual
  #12 (permalink)  
Antiguo 25/08/2012, 18:50
nvarona
 
Fecha de Ingreso: junio-2012
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Problema con php cargado en un div de forma dinámica con jquery

...he conseguido que me carge en el div....PEROOOOOO....

me funciona solo en el chrome en ie de momento no (aunque igual se le ha ido temporalmente... ..) en fin... y lo que me pasa es que siempre me sale mensaje enviado, cuando no me lo esta enviando (trabajo en local, y no lo he configurado para mandar con la funcion mail()...

Dejo los codigos.. si algún alma muy caritativa los ve y me orienta un poco donde puede estar el fallo... no veais como lo agradeceria.. de verdad que si...

codigo del formulario (correo.php)

Código HTML:
<html>
	<head>
		<title>Contacto</title>
		<link rel='stylesheet' href='css/estilos.css'>
		<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
		<script type="text/javascript">  
		$(document).ready(function (){
		  var emailreg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;	
	$(".boton").click(function(){ 
	        var nombre = $(".nombre").val();
			email = $(".email").val();
			asunto = $(".asunto").val();
			mensaje = $(".mensaje").val();
		$(".error").fadeOut().remove();
		
        if ($(".nombre").val() == "") {  
			$(".nombre").focus().after('<span class="error">Ingrese su nombre</span>');  
			return false;  
		}  
        if ($(".email").val() == "" || !emailreg.test($(".email").val())) {
			$(".email").focus().after('<span class="error">Ingrese un email correcto</span>');  
			return false;  
		}  
        if ($(".asunto").val() == "") {  
			alert("estoy en asunto"); 
			$(".asunto").focus().after('<span class="error">Ingrese un asunto</span>'); 
			return false;  
		}  
        if ($(".mensaje").val() == "") {  
			$(".mensaje").focus().after('<span class="error">Ingrese un mensaje</span>');   
			return false; 
		}else{
		   alert( "dentro");
		  var datos = '$nombre='+ nombre + 
						'&email=' + email + 
						'&telefono=' + telefono + 
						'&mensaje=' + mensaje;
		      $.ajax({
			        type: "POST",
				    url: "proceso.php",
					data: datos,
	    		    success: function() {
					
	      			$('#formu332').text('Mensaje enviado!').addClass('msg_ok').animate({ 'right' : '130px' }, 300);	
	    		},
				error: function() {
					
	      			$('#formu332').text('Hubo un error!').addClass('msg_error').animate({ 'right' : '130px' }, 300);					
				}
	   		});
	 		return false;	
		}
	});
});
			</script>
			
	</head>
	<body>
	
	<div id="formu332">
		<form  method='POST' action='correo.php'>
			<div><label>Tu Nombre:</label><input type='text' class='nombre' name='nombre' value='<?php echo $_POST['nombre']; ?>'><?php echo $error1 ?></div>
			<div><label>Tu Email:</label><input type='text' class='email' name='email' value='<?php echo $_POST['email']; ?>'><?php echo $error2 ?></div>
			<div><label>Asunto:</label><input type='text' class='asunto' name='asunto' value='<?php echo $_POST['asunto']; ?>'><?php echo $error3 ?></div>
			<div><label>Mensaje:</label><textarea rows='6' class='mensaje' name='mensaje'><?php echo $_POST['mensaje']; ?></textarea><?php echo $error4 ?></div>
			<div><input type='submit' value='Envia Mensaje' class='boton' name='boton'></div>
			<?php echo $result; ?>
			
		</form>
		</div>
	</body>
</html> 

Este es el codigo de proceso.php:

Código HTML:
<?php
// Guardar los datos recibidos en variables:
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$asunto = $_POST['asunto'];
$mensaje = $_POST['mensaje'];
// Definir el correo de destino:
$dest = "[email protected]"; 
 
// Estas son cabeceras que se usan para evitar que el correo llegue a SPAM:
$headers = "From: $nombre $email\r\n";
$headers .= "X-Mailer: PHP5\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 
// Aqui definimos el asunto y armamos el cuerpo del mensaje
$asunto = "Contacto";
$cuerpo = "<strong>Nombre:</strong> ".$nombre."<br>";
$cuerpo .= "<strong>Email:</strong> ".$email."<br>";
$cuerpo .= "<strong>Asunto:</strong> ".$asunto."<br>";
$cuerpo .= "<strong>Mensaje:</strong> ".$mensaje;
 
// Esta es una pequena validación, que solo envie el correo si todas las variables tiene algo de contenido:
if($nombre != '' && $email != '' && $asunto != '' && $mensaje != ''){
    mail($dest,$asunto,$cuerpo,$headers); //ENVIAR!
}
?> 

le voy dando tantas vueltas al código que lo estaré estropeando mas... estoy escribiendo a la vez que le doy vueltas al código.. y lo que habia conseguido (que me cargase en el div ya no lo hace.... )

Si se os ocurre algo.. lo agradeceria mucho de verdad..

muchas gracias