Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ¿como condicionar un cuerpo de correo de un phpmailer?

Estas en el tema de ¿como condicionar un cuerpo de correo de un phpmailer? en el foro de PHP en Foros del Web. Hola a todos, por favor necesito ayuda urgente, estoy desarrollando un pequeño formulario donde la lógica es la siguiente: Sexo: M o F - Nombre ...
  #1 (permalink)  
Antiguo 09/09/2015, 17:40
 
Fecha de Ingreso: septiembre-2015
Mensajes: 8
Antigüedad: 8 años, 7 meses
Puntos: 0
Exclamación ¿como condicionar un cuerpo de correo de un phpmailer?

Hola a todos, por favor necesito ayuda urgente, estoy desarrollando un pequeño formulario donde la lógica es la siguiente:

Sexo: M o F - Nombre Paciente - Correo Paciente - Prioridad: 1, 2 o 3.

Si la persona elige M (Masculino), una parte del mensaje del correo se condiciona a SR., si la persona elige F (Femenino), una parte del mensaje del correo se condiciona a SRA.

El nombre del paciente iria al lado de la condicional SR o SRA.

El correo destinatario es el que se ingrese en el formulario. OK.

Si persona elige Prioridad 1, 2 o 3, el mensaje se condiciona nuevamente sin modificar la anterior condición de SR o SRA.


-El codigo del formulario html es este:

<form class="form-deberes" method="post" action="envioMail.php">

Sexo:<input class="input2" type="radio" name='Sexo' Value='Masculino' required>&nbsp;M&nbsp;<input class="input2" type="radio" name='Sexo' Value='Femenino' required>&nbsp;F&nbsp;

<input type="text" name="nombre" id="nomb" required placeholder="Ingresar el nombre del paciente" class="nomb-paciente">

<input type="email" name="mail" id="mail" required placeholder="Ingresar correo del paciente" class="email-paciente">

<select class="prioridad" id="prior" name="prioridad" required="required"><option value="Desconocido" selected="selected">Seleccionar Prioridad</option><option value="Prioridad3">Prioridad 3</option><option value="Prioridad2">Prioridad 2</option><option value="Prioridad1">Prioridad 1</option></select>&nbsp;&nbsp;

<input type="submit" class="myButton2" value="Enviar">
</form>



-El codigo del PHP Mailer donde presento problema es este:

$mail->Subject = "Derechos y Deberes del Paciente";

$foto= "derechosydeberes.jpg";

$nombre=$_REQUEST["nombre"];

$sexo=$_REQUEST["sexo"];

$prioridad=$_REQUEST["prioridad"];

if(($sexo == 'Masculino') && ($prioridad == 'Prioridad3'))

{

$mensaje='

<html>
<head>
<title>Prueba de correo</title>
</head>
<body>
<p>
Apreciado Sr. '.$nombre.':

Bienvenido, usted está ingresando al Servicio de Urgencias de Clínica Portoazul. Para nosotros su salud y comodidad con el servicio recibido es lo más importante, por esto le informamos que contamos con el servicio de clasificación de Urgencias con el propósito de dar prioridad a las personas que por su condición médica así lo requieran.

Teniendo en cuenta lo anterior, nuestra Enfermera Jefe revisó sus signos vitales y patología estableciendo que su clasificación es de Prioridad 3 dado que su condición médica es estable. Ampliamos información acerca de este proceso.

<table width="637" border="0" align="center">
<tbody>
<tr>
<td><a href="http://www.clinicaportoazul.com/index.html" target="_blank"><img src="'. $foto .'" width="637" height="1700"></a></td>
</tr>
</tbody>
</table>

</p>
</body>
</html>';

}


if(($sexo == 'Masculino') && ($prioridad == 'Prioridad2'))

{

$mensaje='

<html>
<head>
<title>Prueba de correo</title>
</head>
<body>
<p>
Apreciado Sr. '.$nombre.':

Bienvenido, usted está ingresando al Servicio de Urgencias de Clínica Portoazul. Para nosotros su salud y comodidad con el servicio recibido es lo más importante, por esto le informamos que contamos con el servicio de clasificación de Urgencias con el propósito de dar prioridad a las personas que por su condición médica así lo requieran.

Teniendo en cuenta lo anterior, nuestra Enfermera Jefe revisó sus signos vitales y patología estableciendo que su clasificación es de Prioridad 2 por lo cual será atendido en el menor tiempo posible. Ampliamos información acerca de este proceso.

<table width="637" border="0" align="center">
<tbody>
<tr>
<td><a href="http://www.clinicaportoazul.com/index.html" target="_blank"><img src="'. $foto .'" width="637" height="1700"></a></td>
</tr>
</tbody>
</table>

</p>
</body>
</html>';

}


if(($sexo == 'Masculino') && ($prioridad == 'Prioridad1'))

{

$mensaje='

<html>
<head>
<title>Prueba de correo</title>
</head>
<body>
<p>
Apreciado Sr. '.$nombre.':

Bienvenido, usted está ingresando al Servicio de Urgencias de Clínica Portoazul. Para nosotros su salud y comodidad con el servicio recibido es lo más importante, por esto le informamos que contamos con el servicio de clasificación de Urgencias con el propósito de dar prioridad a las personas que por su condición médica así lo requieran.

Teniendo en cuenta lo anterior, nuestra Enfermera Jefe revisó sus signos vitales y patología estableciendo que su clasificación es de Prioridad 1 por lo cual su atención se realizará de inmediato. Ampliamos información acerca de este proceso.

<table width="637" border="0" align="center">
<tbody>
<tr>
<td><a href="http://www.clinicaportoazul.com/index.html" target="_blank"><img src="'. $foto .'" width="637" height="1700"></a></td>
</tr>
</tbody>
</table>

</p>
</body>
</html>';

}


$mail->MsgHTML($mensaje);



Lo intente asi para la condicional de M (masculino) pero no me funciona

Porfavor agradezco mucho cualquier ayuda, aporte o idea.

Bendiciones.
  #2 (permalink)  
Antiguo 09/09/2015, 19:43
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: ¿como condicionar un cuerpo de correo de un phpmailer?

asi amigo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $sexo = $_POST['sexo'];
  4. $prioridad = $_POST['prioridad'];
  5.  
  6. switch ($sexo) {
  7.   case 'M':
  8.   $sexo = 'Sr ';
  9.   break;
  10.  
  11.   case 'F':
  12.   $sexo = 'Sra. ';
  13.   break;
  14.    
  15.   default:
  16.   $sexo = 'Sr/Sra. ';
  17.  
  18. }
  19.  
  20. switch ($prioridad) {
  21.   case '1':
  22.   $prioridad = 'LOQUESEA1 ';
  23.   break;
  24.  
  25.   case '2':
  26.   $prioridad = 'LOQUESEA2. ';
  27.   break;
  28.  
  29.   case '4':
  30.   $prioridad = 'LOQUESEA3 ';
  31.   break;
  32.    
  33.   default:
  34.   $prioridad = 'LOQUESEADEFAULT';
  35.  
  36. }
  37. ?>

luewgo simplemente coloca las variables donde corresponda dentro del cuerpo del email y listo, asi las condicionas antes de enviarlo
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 10/09/2015, 08:14
 
Fecha de Ingreso: septiembre-2015
Mensajes: 8
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: ¿como condicionar un cuerpo de correo de un phpmailer?

Amigo buen dia DTB,

Muchas gracias lo intento tal cual como lo escribes pero aun no me funciona... Osea me llega solo el 'Default'

Los Case no me los esta agarrando, este es codigo que use:

$sexo = $_POST["sexo"];
$nombre=$_POST["nombre"];
$prioridad = $_POST["prioridad"];

switch ($sexo) {

case 'Masculino':
$sexo = 'Apreciado Sr. ';
break;

case 'Femenino':
$sexo = 'Apreciada Sra. ';
break;

default:
$sexo = 'Sr/Sra. ';

}

switch ($prioridad) {

case 'prioridad3':
$prioridad = 'Prioridad 3 dado que su condición médica es estable. Ampliamos información acerca de este proceso.';
break;

case 'prioridad2':
$prioridad = 'Prioridad 2 por lo cual será atendido en el menor tiempo posible. Ampliamos información acerca de este proceso.';
break;

case 'prioridad1':
$prioridad = 'Prioridad 1 por lo cual su atención se realizará de inmediato. . Ampliamos información acerca de este proceso.';
break;

default:
$prioridad = 'Default';

}

$mensaje='

<html>
<head>
<title>Prueba de correo</title>
</head>
<body>
<p>
'.$sexo.' '.$nombre.': Bienvenido(a) usted está ingresando al Servicio de Urgencias de Clínica Portoazul. Para nosotros su salud y comodidad con el servicio recibido es lo más importante, por esto le informamos que contamos con el servicio de clasificación de Urgencias con el propósito de dar prioridad a las personas que por su condición médica así lo requieran.

Teniendo en cuenta lo anterior, nuestra Enfermera Jefe revisó sus signos vitales y patología estableciendo que su clasificación es de '.$prioridad.'

<table width="637" border="0" align="center">
<tbody>
<tr>
<td><a href="http://www.clinicaportoazul.com/index.html" target="_blank"><img src="'. $foto .'" width="637" height="1700"></a></td>
</tr>
</tbody>
</table>

</p>
</body>
</html>';


Y asi me llega al correo:

Sr/Sra. Carlos Andres: Bienvenido(a) usted está ingresando al Servicio de Urgencias de Clínica Portoazul. Para nosotros su salud y comodidad con el servicio recibido es lo más importante, por esto le informamos que contamos con el servicio de clasificación de Urgencias con el propósito de dar prioridad a las personas que por su condición médica así lo requieran. Teniendo en cuenta lo anterior, nuestra Enfermera Jefe revisó sus signos vitales y patología estableciendo que su clasificación es de Default
__________________________________________________ _____

Cual crees que pueda ser el problema?

Muchas gracias.
  #4 (permalink)  
Antiguo 10/09/2015, 08:56
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: ¿como condicionar un cuerpo de correo de un phpmailer?

prueba asi:

Código PHP:
Ver original
  1. switch ($sexo) {
  2.  
  3. case "Masculino":
  4. $sexo = "Apreciado Sr. ";
  5. break;
  6.  
  7. case "Femenino":
  8. $sexo = "Apreciada Sra. ";
  9. break;
  10.  
  11. default:
  12. $sexo = "Sr/Sra. ";
  13.  
  14. }
  15.  
  16. switch ($prioridad) {
  17.  
  18. case "prioridad3":
  19. $prioridad = 'Prioridad 3 dado que su condición médica es estable. Ampliamos información acerca de este proceso.';
  20. break;
  21.  
  22. case "prioridad2":
  23. $prioridad = 'Prioridad 2 por lo cual será atendido en el menor tiempo posible. Ampliamos información acerca de este proceso.';
  24. break;
  25.  
  26. case "prioridad1":
  27. $prioridad = 'Prioridad 1 por lo cual su atención se realizará de inmediato. . Ampliamos información acerca de este proceso.';
  28. break;
  29.  
  30. default:
  31. $prioridad = "Default";
  32.  
  33. }
aunque lo probe y funciona perfecto, de todas maneras prueba camiar las comillas a ver, incluso probe tu codigo y funciona perfecto
__________________
[email protected]
HITCEL

Última edición por xfxstudios; 10/09/2015 a las 09:02
  #5 (permalink)  
Antiguo 10/09/2015, 09:21
 
Fecha de Ingreso: septiembre-2015
Mensajes: 8
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: ¿como condicionar un cuerpo de correo de un phpmailer?

Gracias amigo, ya solucione, quedo así:

__________________________________________________ _____________________

HTML:


<form class="form-deberes" method="post" action="envioMail.php">

Sexo:<input class="input2" type="radio" name='Sexo' Value='mas' required>&nbsp;M&nbsp;<input class="input2" type="radio" name='Sexo' Value='fem' required>&nbsp;F&nbsp;

<input type="text" name="nombre" id="nomb" required placeholder="Ingresar el nombre del paciente" class="nomb-paciente">

<input type="email" name="mail" id="mail" required placeholder="Ingresar correo del paciente" class="email-paciente">

<select class="prioridad" id="prior" name="prioridad" required="required"><option value="Desconocido" selected="selected">Seleccionar Prioridad</option><option value="3">Prioridad 3</option><option value="2">Prioridad 2</option><option value="1">Prioridad 1</option></select>&nbsp;&nbsp;

<input type="submit" class="myButton2" value="Enviar">
</form>

__________________________________________________ _____________________


PHP:


$Sexo = $_POST['Sexo'];
$nombre = $_POST['nombre'];
$prioridad = $_POST['prioridad'];

switch ($Sexo) {

case 'mas':
$Sexo = 'Apreciado Sr. ';
break;

case 'fem':
$Sexo = 'Apreciada Sra. ';
break;

default:
$Sexo = 'Sr/Sra. ';

}

switch ($prioridad) {

case '3':
$prioridad = 'Prioridad 3 dado que su condición médica es estable. Ampliamos información acerca de este proceso.';
break;

case '2':
$prioridad = 'Prioridad 2 por lo cual será atendido en el menor tiempo posible. Ampliamos información acerca de este proceso.';
break;

case '1':
$prioridad = 'Prioridad 1 por lo cual su atención se realizará de inmediato. Ampliamos información acerca de este proceso.';
break;

default:
$prioridad = "Default";

}

$mensaje='

<html>
<head>
<title>Prueba de correo</title>
</head>
<body>
<p>
'.$Sexo.' '.$nombre.': Bienvenido(a) usted está ingresando al Servicio de Urgencias de Clínica Portoazul. Para nosotros su salud y comodidad con el servicio recibido es lo más importante, por esto le informamos que contamos con el servicio de clasificación de Urgencias con el propósito de dar prioridad a las personas que por su condición médica así lo requieran.

Teniendo en cuenta lo anterior, nuestra Enfermera Jefe revisó sus signos vitales y patología estableciendo que su clasificación es de '.$prioridad.'

<table width="637" border="0" align="center">
<tbody>
<tr>
<td><a href="http://www.clinicaportoazul.com/index.html" target="_blank"><img src="'.$foto.'" width="637" height="1700"></a></td>
</tr>
</tbody>
</table>

</p>
</body>
</html>';

__________________________________________________ _______________________


Muchísimas gracias!

Bendiciones!
  #6 (permalink)  
Antiguo 10/09/2015, 09:32
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: ¿como condicionar un cuerpo de correo de un phpmailer?

Me alegra Saludos
__________________
[email protected]
HITCEL

Etiquetas: condicionar, correo, cuerpo, formulario, html, select
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 20:11.