<p align="center">
<?php unset($_POST['enviar']) ?> <form name="volver" action="" method="post" />
<?php
//Preparamos el contenido del formulario de retorno para que no sea necesario
//volver a completar los campos que estén completos y correctos
foreach($_POST as $campo=>$valor)
{
//Aquí los campos que no nos interesa que se recuperen
//El valor del botón de envío o de control no nos interesa
if ($campo != "enviar") {
?>
<input type="hidden" id="<?php echo $campo ?>" name="<?php echo $campo ?>" value="<?php echo $valor ?>" /><?php echo "\n"; ?>
<?php
}
}
?>
<input type="submit" id="volver" name="volver" id="volver" value="Volver" />
</form>
</p>
</div>
</div>
<?php
} elseif (empty($error)) { //#####################################################################
//FIN DE PÁGINA QUE SE MUESTRA SI FALTA ALGÚN CAMPO DEL FORMULARIO
//#####################################################################
$fecha_nac = $anio."-".$mes."-".$dia;
$fecha_inscripcion = ahora();
//Inserto nuevos datos en la tabla comerciales
//con los datos que me trae el formulario
//Array con los datos del usuario
$datos_comercial = array( "nombre" => "$nombre",
"apellidos" => "$apellidos",
"nif" => "$nif",
"email" => "$email",
"direccion" => "$direccion",
"codigo_postal" => "$codigo_postal",
"telefono_fijo" => "$telefono_fijo",
"telefono_movil" => "$telefono_movil",
"localidad" => "$localidad",
"provincia" => "$provincia",
"id_pais" => "$id_pais",
"fecha_nac" => "$fecha_nac",
"usuario" => "$usuario",
"clave" => "$clave",
"fecha_inscripcion" => "$fecha_inscripcion",
"ip" => "$ip",
"hash" => "$hash",
"registro" => "$registro"
);
//Operación de actualización
$id_comerc = $db->insert($tabla_usuarios, $datos_comercial);
$url = PAGINA_BASE;
$email_sistema = EMAIL_SISTEMA;
$email_clave = CLAVE_EMAIL_ENVIO;
$email_envio = EMAIL_ENVIO;
$nombre_envio = NOMBRE_ENVIO;
$email_respuesta = EMAIL_RESPUESTA;
$nombre_respuesta = NOMBRE_RESPUESTA;
//Definimos los encabezados de los correos (doctype, charset, estilos, etc.)
$encabezados = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"><html>\n<head>\n
<meta http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">\n<style type=\"text/css\">\n
BODY {background: #FFFFFF; font-family: verdana; font-size: 10pt; color: #000000; margin-left: 30px; margin-top: 20px; margin-right: 30px; margin-bottom: 10px;}\n
table {background: #FFFFFF; font-family: verdana; font-size: 10pt; color: #000000;}\n
td {background: #FFFFFF; font-family: verdana; font-size: 10pt; color: #000000;}\n
a:link {text-decoration: none; color: #0000FF;}\n
a:hover {text-decoration: underline; color: #FF0000;}\n
a:visited {text-decoration: none; color: #0000FF;}\n
a:active {text-decoration: underline; color: #FF0000;}\n
.sangrado {text-indent: 35pt; text-align: justify;}\n
.sinsangria {text-align: justify;}\n
.dcha {text-align: right;}\n
.centro {text-align: center;}\n
.margen {margin-left: 80pt; text-align: justify;}\n
.margenpq {margin-left: 35pt; text-align: justify;}\n
.avisonorm {color: #CC0000; font-weight: bold;}\n
</style>\n</head>\n<body>\n";
//pasamos a enviar el correo
// primero hay que incluir la clase phpmailer para poder instanciar
//un objeto de la misma
require INCLUDES."class.phpmailer.php";
//instanciamos un objeto de la clase phpmailer al que llamamos
//por ejemplo mail
$mail = new phpmailer();
//Definimos las propiedades y llamamos a los métodos
//correspondientes del objeto mail
//Con PluginDir le indicamos a la clase phpmailer donde se
//encuentra la clase smtp que como he comentado al principio de
//este ejemplo va a estar en el subdirectorio includes
$mail->PluginDir = INCLUDES;
$mail->SetLanguage("es");
//Con la propiedad Mailer le indicamos que vamos a usar un
//servidor smtp
$mail->Mailer = "smtp";
//Asignamos a Host el nombre de nuestro servidor smtp
$mail->Host = "localhost";
//Le indicamos que el servidor smtp requiere autenticación
$mail->SMTPAuth = true;
//Le decimos cual es nuestro nombre de usuario y password
$mail->Username = $email_sistema;
$mail->Password = $email_clave;
//Indicamos cual es nuestra dirección de correo y el nombre que
//queremos que vea el usuario que lee nuestro correo
$mail->From = $email_sistema;
$mail->FromName = $nombre_envio;
//Preparamos el contenido del mensaje
$msg = $encabezados;
$msg .= "<p class=\"centro avisonorm\">Este mensaje se envía desde una cuenta de correo no monitorizada, por lo que si respondes a él, no será leído y no podrás obtener respuesta.</p>\n";
$msg .= "<p class=\"sinsangria\">Hola ".$nombre.",</p>";
$msg .= "<p class=\"sangrado\">";
$msg .= "Para verificar tu e-mail debes acceder a la siguiente URL, si no te funciona haciendo click sobre ella, cópiala y pégala en tu navegador:";
$msg .= "</p>";
$msg .= "<p class=\"centro\">";
$msg .= "<a target=\"_blank\" href=\"". $url."validar.php?v=".$registro."\">". $url."validar.php?v=".$registro."</a></p>";
$msg .= "<p class=\"margenpq\">";
$msg .= "Un saludo,";
$msg .= "</p>";
$msg .= "<p class=\"margen\">";
$msg .= "<b>".$nombre_respuesta."</b>";
$msg .= "</p>";
$msg_txt = "Este mensaje se envía desde una cuenta de correo no monitorizada, por lo que si respondes a él, no será leído y no podrás obtener respuesta.\n\n";
$msg_txt .= "Hola ".$nombre.",\n\n";
$msg_txt .= "Para verificar tu e-mail debes acceder a la siguiente URL, si no te funciona haciendo click sobre ella, cópiala y pégala en tu navegador:\n\n";
$msg_txt .= "URL de acceso:: ". $url."validar.php?v=".$registro."\n\n";
$msg_txt .= "Un saludo,\n\n";
$msg_txt .= $nombre_respuesta;
//Asignamos asunto y cuerpo del mensaje
//El cuerpo del mensaje lo ponemos en formato html
$mail->Subject = "Verificación de e-mail de ".$nombre." ".$apellidos."";
$mail->Body = $msg;
//Definimos AltBody por si el destinatario del correo no admite
//email con formato html
$mail->AltBody = $msg_txt;
//el valor por defecto 10 de Timeout es un poco escaso, por tanto lo pongo a 120
$mail->Timeout=30;
//Indicamos cuales son las direcciones de destino del correo y enviamos
//los mensajes
$mail->AddAddress($email,$nombre." ".$apellidos);
$mail->AddReplyTo($email_respuesta,$nombre_respuesta);
//se envia el mensaje, si no ha habido problemas la variable $exito
//tendra el valor true
$exito = $mail->Send();
//Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas
//como mucho para intentar enviar el mensaje, cada intento se hara 5
//segundos despues del anterior, para ello se usa la funcion sleep
$intentos=1;
while( (!$exito) && ($intentos<5) && ($mail->ErrorInfo!="SMTP Error: Data not accepted") ){
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;
}
//La clase phpmailer tiene un pequeño bug y es que cuando envia un mail con
//attachment la variable ErrorInfo adquiere el valor Data not accepted, dicho
//valor no debe confundirnos ya que el mensaje ha sido enviado correctamente
if ( ($mail->ErrorInfo=="SMTP Error: Data not accepted") ) {
$exito=true;
}
if(!$exito)
{
?>
<p> </p>
<p class="centro titulo">Problemas enviando correo electrónico a <?php echo $email ?>
<br/><?php echo $mail->ErrorInfo; ?></p>
<?php
}
else
{
?>
<p> </p>
<p class="centro titulo">Alta efectuada correctamente</p>
<p align="center">Comprueba tu e-mail, habrás recibido un correo con un enlace de verificación, debes hacer click en el enlace para validar tu inscripción.</p>
<?php
}
// Borro las direcciones de destino establecidas anteriormente
$mail->ClearAddresses();
}
}
?>
</body>
</html>