El siguiente script de PHP funciona correctamente salvo por un pequeño detalle, el mail llega pero todas las variables aparecen pegadas unas a otras (al hacerlo así obviamente $XX . $XX) salvo cuando pongo \r\n, ahí si se da un salto de línea, pero no es la idea, ya que si a todas pongo \r\n ($XX . \r\n . $XX) aparecerán todos los saltos de línea aún cuando la(s) variable(s) de los lados al ser checkbox puedan no estar seleccionadas, entonces aparecería algo como:
variable 1
::: demasiado espacio aquí, porque las variables 2, 3 y 4 en este ejemplo no fueron seleccionadas pero los saltos de línea siguen apareciendo :::
variable 5
variable 6
etc...
Lo ideal sería así:
variable 1
variable 5
variable 6
etc...
aquí ya no aparecerían saltos de línea después de la variable 1 aún cuando no estuvieran definidas las variables 2, 3 y 4. Esto es un ejemplo.
¿Qué podría hacer para que los saltos de línea estén asociados a si aparece determinada variable?
Este es mi código:
<?php
error_reporting( E_ALL & ~( E_NOTICE | E_STRICT | E_DEPRECATED ) );
require_once "Mail.php";
if( empty($_POST["dsgn"]) ) {}
else { $dsgn = 'DSGN'; }
if( empty($_POST["dvlp"]) ) {}
else { $dvlp = 'DVLP'; }
if( empty($_POST["mktg"]) ) {}
else { $mktg = 'MKTG'; }
if( empty($_POST["brng"]) ) {}
else { $brng = 'BRNG'; }
if( empty($_POST["strgs"]) ) {}
else { $strgs = 'STRGS'; }
if( empty($_POST["othr"]) ) {}
else { $othr = 'OTHR'; }
if( empty($_POST["basics"]) ) {}
else { $basics = 'Plan Basic'; }
if( empty($_POST["standards"]) ) {}
else { $standards = 'Plan Standard'; }
if( empty($_POST["one"]) ) {}
else { $one = 'De $$$ a $$$'; }
if( empty($_POST["two"]) ) {}
else { $two = 'Entre $$$ y $$$'; }
if( empty($_POST["three"]) ) {}
else { $three = 'Menos de $$$'; }
if( empty($_POST["four"]) ) {}
else { $four = 'Entre $$$ y $$$'; }
if( empty($_POST["five"]) ) {}
else { $five = 'Más de $$$'; }
if( empty($_POST["six"]) ) {}
else { $six = 'Más de $$$'; }
$details = $_POST["detalles"];
$name = $_POST["nombre"];
$email = $_POST["email"];
$mobile = $_POST["movil"];
$to = '
[email protected]';
$from = '
[email protected]';
$host = 'smtp.dominio.com';
$username = '
[email protected]';
$password = 'XXXXXXXX';
$subject = 'Formulario';
$body = $dsgn . $dvlp . $mktg . $brng . $strgs . $othr . "\r\n" . $one . $two . $three . $four . $five . $six . "\r\n" . $basics . $standards . "\r\n" . $details . $name . $email . $mobile;
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("" . $mail->getMessage() . "");
} else {
header('Location: thanks.html');
}
?>
Gracias a todos de antemano.
Saludos.