Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/09/2012, 13:00
Avatar de legomolina
legomolina
 
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Enviar correo con tildes y ñ

y la pagina que envia el correo (no me dejaba todo en uno :)):
Código PHP:
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="../styles/estiloprincipal.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<?php
//si el campo 'borrar' tiene un valor 'true' las variables de session se destruiran 
if($_POST['borrar']=='true') {
unset(
$_SESSION['nombre'],$_SESSION['apellido'],$_SESSION['email'],$_SESSION['provincia'],$_SESSION['poblacion'],$_SESSION['telefono'],$_SESSION['movil'],$_SESSION['averia'],$_SESSION['codigo_postal'],$_SESSION['dni'],$_SESSION['marca'],$_SESSION['modelo'],$_SESSION['fecha_compra'],$_SESSION['comercio'],$_SESSION['garantia']);
}

//definimos las variables necesarias
$fecha=$_POST['fecha'];//obligado
$nombre=$_POST['nombre'];//obligado
$apellido="";
$email=$_POST['email'];//obligado
$provincia=$_POST['provincia'];//obligado
$direccion="";
$poblacion=$_POST['poblacion'];//obligado
$telefono=$_POST['telefono'];//obligado
$movil="";
$averia="";
$codigo_postal="";
$dni="";
$marca="";
$modelo="";
$fecha_compra="";
$comercio="";
$garantia="";
$vinculo='<br /><a href="contacta.php" target="principal">Volver a contactar</a>';

//Definimos las sessions
$_SESSION['nombre']=$nombre;
$_SESSION['email']=$email;
$_SESSION['provincia']=$provincia;
$_SESSION['poblacion']=$poblacion;
$_SESSION['telefono']=$telefono;
$_SESSION['apellido']=$apellido;
$_SESSION['movil']=$movil;
$_SESSION['direccion']=$direccion;
$_SESSION['averia']=$averia;
$_SESSION['codigo_postal']=$codigo_postal;
$_SESSION['dni']=$dni;
$_SESSION['marca']=$marca;
$_SESSION['modelo']=$modelo;
$_SESSION['fecha_compra']=$fecha_compra;
$_SESSION['comercio']=$comercio;
$_SESSION['garantia']=$garantia;

//
//CONDICIONES QUE SE TIENE QUE DAR PARA QUE SE ENVIE EL E-MAIL
//

//El campo nombre debe ser obligatorio
if($nombre=="") {
    echo 
"El campo 'Nombre' no puede estar vac&iacute;o";
    echo 
$vinculo;
    exit;
}

//El campo telefono debe ser obligatorio
if($telefono=="") {
    echo 
"El campo 'Tel&eacute;fono' no puede estar vac&iacute;o";
    echo 
$vinculo;
    exit;
}

// El telefono debe contener 9 d�gitos
if((strlen($telefono) < 9)) {
    echo 
"El tel&eacute;fono tiene que contener 9 cifras";
    echo 
$vinculo;
    exit;
}

//El campo email debe ser obligatorio
if($email=="") {
    echo 
"El campo'E-mail' no puede estar vac&iacute;o";
    echo 
$vinculo;
    exit;
}

//El campo provincia debe ser obligatorio
if($provincia=="") {
    echo 
"El campo 'Provincia' no puede estar vac&iacute;o";
    echo 
$vinculo;
    exit;
}

//El campo poblacion debe ser obligatorio
if($poblacion=="") {
    echo 
"El campo 'Poblaci&oacute;n' no puede estar vac&iacute;o";
    echo 
$vinculo;
    exit;
}

//
//SI SE DEFINEN LAS NO-OBLIGADAS VAMOS ACTUALIZANDO LAS SESSIONS Y LAS DEMAS VARIABLES
//

//si se define apellidos
if(isset($_POST['apellidos']) && $_POST['apellidos']!="") {
    
$apellido=$_POST['apellidos'];
    
$_SESSION['apellido']=$apellido;
}

//si se define movil
if(isset($_POST['movil']) && $_POST['movil']!="") {
    
$movil=$_POST['movil'];
    
$_SESSION['movil']=$movil;
    
// El movil debe contener 9 d�gitos
    
if (strlen($movil) < 9){
        echo 
"El m�vil debe contener 9 cifras";
        echo 
$vinculo;
        exit;
    }
}    

//si se define direccion
if(isset($_POST['direccion']) && $_POST['direccion']!="") {
    
$direccion=$_POST['direccion'];
    
$_SESSION['direccion']=$direccion;
}

//si se define codigo postal
if(isset($_POST['c_postal']) && $_POST['c_postal']!="") {
    
$codigo_postal=$_POST['c_postal'];
    
$_SESSION['codigo_postal']=$codigo_postal;
    if(
strlen($codigo_postal)<5) {
        echo 
"El codigo postal tiene que contener 5 cifras";
        echo 
$vinculo;
        exit;
    }
}

//si se define dni
if(isset($_POST['dni_num']) && $_POST['dni_num']!="") {
    
$dni=$_POST['dni_num'];
    
$_SESSION['dni']=$dni;
}

//si se define marca
if(isset($_POST['marca_campana']) && $_POST['marca_campana']!="") {
    
$marca=$_POST['marca_campana'];
    
$_SESSION['marca']=$marca;
}

//si se define modelo
if(isset($_POST['modelo']) && $_POST['modelo']!="") {
    
$modelo=$_POST['modelo'];
    
$_SESSION['modelo']=$modelo;
}

//si se define averia
if(isset($_POST['averia']) && $_POST['averia']!="") {        
    
$averia=$_POST['averia'];    
    
$_SESSION['averia']=$averia;
}

//si se define garantia
if(isset($_POST['garantia']) && $_POST['garantia']!="") {
    
$garantia=$_POST['garantia'];
    
$_SESSION['garantia']=$garantia;
}

//si se define fecha de compra
if(isset($_POST['fecha_compra']) && $_POST['fecha_compra']!="") {
    
$fecha_compra=$_POST['fecha_compra'];
    
$_SESSION['fecha_compra']=$fecha_compra;
    
//La fecha de compra esta mal introducida
    
if(strlen($fecha_compra) < 10){
        echo 
"La fecha de compra debe tener el siguiente formato: DD/MM/AAAA";
        echo 
$vinculo;
        exit;
    }
}

//si se define comercio
if(isset($_POST['comercio']) && $_POST['comercio']!="") {
    
$comercio=$_POST['comercio'];
    
$_SESSION['comercio']=$comercio;
}

//
//ENVIAR EL CORREO
//

ini_set("SMTP","smtp.1and1.es");
$para="[email protected]";
$asunto="Consulta/Aviso";
$header='MIME-Version: 1.0' "\r\n";
$header='From: '.$email.'' "\r\n";
$header.='Content-type: text/html; charset=iso-8859-1' "\r\n";
$mensaje='
<html>
<head>
<style type="text/css">
body{ background-color:black; color:#ff3e3e }
</style>
</head>

<body>
<table width="100%" border="0">
  <tr>
    <td colspan="2"><div align="center">DATOS DEL USUARIO</div></td>
  </tr>
  <tr>
    <td width="12%">Nombre:</td>
    <td width="88%">'
.$nombre.'</td>
  </tr>
  <tr>
    <td>Apellidos:</td>
    <td>'
.$apellido.'</td>
  </tr>
  <tr>
    <td>Tel&eacute;fono:</td>
    <td>'
.$telefono.'</td>
  </tr>
  <tr>
    <td>M&oacute;vil:</td>
    <td>'
.$movil.'</td>
  </tr>
  <tr>
    <td>E-Mail:</td>
    <td>'
.$email.'</td>
  </tr>
  <tr>
    <td>Provincia:</td>
    <td>'
.$provincia.'</td>
  </tr>
  <tr>
    <td>Poblaci&oacute;n:</td>
    <td>'
.$poblacion.'</td>
  </tr>
  <tr>
    <td>Direcci&oacute;n:</td>
    <td>'
.$direccion.'</td>
  </tr>
  <tr>
    <td>C&oacute;digo Postal:</td>
    <td>'
.$codigo_postal.'</td>
  </tr>
  <tr>
    <td>DNI:</td>
    <td>'
.$dni.'</td>
  </tr>
  <tr>
    <td colspan="2"><div align="center">DATOS DEL APARATO</div></td>
  </tr>
  <tr>
    <td>Marca:</td>
    <td>'
.$marca.'</td>
  </tr>
  <tr>
    <td>Modelo:</td>
    <td>'
.$modelo.'</td>
  </tr>
  <tr>
    <td><p>Aver&iacute;a:</p></td>
    <td>'
.$averia.'</td>
  </tr>
  <tr>
    <td>Garant&iacute;a:</td>
    <td>'
.$garantia.'</td>
  </tr>
  <tr>
    <td>Fecha de Compra:</td>
    <td>'
.$fecha_compra.'</td>
  </tr>
  <tr>
    <td>Comercio:</td>
    <td>'
.$comercio.'</td>
  </tr>
</table>
</body>
</html>
'
;
try
{
    
mail($para,$asunto,$mensaje,$header)or die("\n\nError al intentar enviar el mensaje\n\n");
}
catch(
Exception $e)
{
    echo 
'Error de ejecucion: '$e->getMessage(), "\n";
}
?>
<body>
�Tu mensaje ha sido enviado con &eacute;xito!<br /> Haz click <a href="index.php" target="principal">aqu&iacute;</a> para volver a la p&aacute;gina principal.
<?php unset($_SESSION['nombre'],$_SESSION['apellido'],$_SESSION['email'],$_SESSION['provincia'],$_SESSION['poblacion'],$_SESSION['telefono'],$_SESSION['movil'],$_SESSION['averia'],$_SESSION['codigo_postal'],$_SESSION['dni'],$_SESSION['marca'],$_SESSION['modelo'],$_SESSION['fecha_compra'],$_SESSION['comercio'],$_SESSION['garantia']); ?>
</body>
</html>
Espero que si tienen alguna solucion puedan decirmela porque me lleva de cabeza esto y quiero solucionarlo.
Gracias de antemano.