Foros del Web » Programando para Internet » PHP »

Crear saltos de línea solo si seleccionan determinados checkbox

Estas en el tema de Crear saltos de línea solo si seleccionan determinados checkbox en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/12/2014, 06:25
Avatar de AngelMarine  
Fecha de Ingreso: enero-2014
Ubicación: Madrid
Mensajes: 79
Antigüedad: 10 años, 3 meses
Puntos: 0
Pregunta Crear saltos de línea solo si seleccionan determinados checkbox

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.
  #2 (permalink)  
Antiguo 06/12/2014, 22:22
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: Bariloche, Argentina
Mensajes: 284
Antigüedad: 14 años
Puntos: 24
Respuesta: Crear saltos de línea solo si seleccionan determinados checkbox

Hola primero que nada leete este enlace de estilo de codigo.
http://blog.codexion.com/wp-content/...odigo_Java.pdf

Segundo usa la etiqueta [ code ] [ /code ](sin espacios), Porque el codigo asi es inlegible.

Respuesta Final: Es tan facil como crear un solo string que valla cargando cada variable existente con su respectivo salto de linea.
__________________
Mi emprendimiento: Software BRC
Youtube: Tutoriales de programación y electrónica.

Etiquetas: formulairo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:03.