Foros del Web » Programando para Internet » PHP »

formulario que me seleccione el correo a enviar de acuerdo al asunto

Estas en el tema de formulario que me seleccione el correo a enviar de acuerdo al asunto en el foro de PHP en Foros del Web. Hola amigos, queria saber como puedo hacer para hacer esto: tengo un formulario de contactos, con nombre, apellido, y todas esas vainas, pero la parte ...
  #1 (permalink)  
Antiguo 15/12/2008, 13:48
Avatar de ferphp  
Fecha de Ingreso: julio-2007
Ubicación: San Pedro Sula
Mensajes: 115
Antigüedad: 16 años, 8 meses
Puntos: 1
formulario que me seleccione el correo a enviar de acuerdo al asunto

Hola amigos, queria saber como puedo hacer para hacer esto:

tengo un formulario de contactos, con nombre, apellido, y todas esas vainas, pero la parte que ocupo es esta, un dato a pedir es el asunto y los asuntos(9) deben estar en una lista desplegable y que envie la información del formulario a la cuenta de correo de cada asunto, osea que si selecciono, en la lista desplegable de asunto: "Solo información", los datos del formulario lleguen al que tiene la cuenta [email protected], y así con los demás asuntos, sabe alguien como se hace esto o si conoce una referencia donde haya algo similar?, ayudaaaa! y de antemano muchas gracias!
__________________
"El saber y la razón hablan, la ignorancia y el error gritan"
  #2 (permalink)  
Antiguo 15/12/2008, 13:52
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

Puedes poner en value un número, representando a cada buzón de email, y dependiendo de cual se seleccione con if, enviarlo a uno o a otro correo.
  #3 (permalink)  
Antiguo 15/12/2008, 13:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

Pues la lista la dibujas con un <select>, busca la referencia HTML, en PHP lo rescatas por el name del <select> entonces ahi puedes comparar el value de cada <option> del <select>, y hacer lo que quieras, por ejemplo:
Código php:
Ver original
  1. switch($_POST['asunto']) {
  2.      case 'informacion':
  3.           $destinatario = "[email protected]";
  4.           break;
  5.      case 'otracosa':
  6.           $destinatario = "[email protected]";
  7.           break;
  8. }
  9.  
  10. mail( $destinatario ..);

Saludos.
  #4 (permalink)  
Antiguo 15/12/2008, 14:14
Avatar de ferphp  
Fecha de Ingreso: julio-2007
Ubicación: San Pedro Sula
Mensajes: 115
Antigüedad: 16 años, 8 meses
Puntos: 1
Gracias Bonez y GatorV, voy a probar luego les aviso! saludes desde Honduras!

Hola gatorV, mira a ver que estoy haciendo mal. porque cuando doy enviar me que da la pantalla en blanco o sea que hay error y el display error de este servidor no funciona creo, pero que estoy haciendo mal:

mi codigo de enviar.php

Código php:
Ver original
  1. <?php
  2.  
  3.    $connect = mysql_connect("localhost","user","pass");
  4.    $db = mysql_select_db("dbnombre",$connect);
  5.    
  6.    $sql= mysql_query("insert into contactos (nombre,telefono,celular,email,asunto,comentario)
  7.    values('$nombre','$telefono','$celular','$email','$asunto','$comentario')");
  8.  
  9. $nombre = $_POST['nombre'];
  10. $telefono = $_POST['telefono'];
  11. $celular = $_POST['celular'];
  12. $email = $_POST['email'];
  13. $asunto = $_POST['asunto'];
  14. $comentario = $_POST['comentario'];
  15.  
  16. switch($_POST['asunto']) {
  17.     case 'asuntodefacturacion':
  18.          $destinatario = "[email protected]";
  19.          break;
  20.     case 'interrupciones':
  21.          $destinatario = "[email protected]";
  22.          break;
  23.     case 'fugas':
  24.          $destinatario = "[email protected]";
  25.          break;
  26.     case 'aguasnegras':
  27.          $destinatario = "[email protected]";
  28.          break;
  29.     case 'alcantarillado':
  30.          $destinatario = "[email protected]";
  31.          break;
  32.     case 'calidadagua':
  33.          $destinatario = "[email protected]";
  34.          break;
  35.     case 'denuncias':
  36.          $destinatario = "[email protected]";
  37.          break;
  38.     case 'sugerencias':
  39.          $destinatario = "[email protected]";
  40.          break;
  41.     case 'comentarios':
  42.          $destinatario = "[email protected]";
  43.          break;
  44. }
  45.  
  46. $aasunto = "$asunto\n";
  47. $headers = "from: $email\n";
  48. $headers .= 'bcc: [email][email protected][/email]' . "\n";
  49. $headers .= "reply-to: $email\n\n";
  50.  
  51. $mensaje .= "Contacto desde la Web\n";
  52. $mensaje .= "Nombre Completo:______$nombre\n";
  53. $mensaje .= "Su telefono es:_______$telefono\n";
  54. $mensaje .= "Su celular es:________$celular\n";
  55. $mensaje .= "Su e-mail es:_________ $email\n";
  56. $mensaje .= "Su Asunto es:___________$asunto\n";
  57. $mensaje .= "Mensaje:______________$comentario\n";
  58. $mensaje .= "Enviado el:___________ " . date('d/m/Y', time());
  59.  
  60. mail($destinatario, $aasunto, $mensaje, $headers);
  61. header("Location: ./gracias.html");
  62.         die("ERROR ENVIANDO CORREO, FAVOR REPORTARLO AL WEBMASTER [email][email protected][/email]");
  63. echo '&estatus=ok&';
  64.  
  65. ?>

y mi formulario

Código HTML:
<form action="enviar.php" method="post" name="form1" id="form1" style="margin-top: 0;">
                <table width="639" border="0" align="center" cellpadding="0" cellspacing="2">
                  <tr>
                    <td colspan="3" align="center" class="titulos">Para m&aacute;s informaci&oacute;n:</td>
                  </tr>
                  <tr>
                    <td width="268" align="right" class="textodivisiones">&nbsp;</td>
                    <td colspan="2">&nbsp;</td>
                  </tr>
                  <tr>
                    <td align="right" class="textodivisiones">Nombre Completo:</td>
                    <td colspan="2"><input name="nombre" type="text" class="textoform" id="nombre"></td>
                  </tr>
                  <tr>
                    <td align="right" class="textodivisiones">Tel&eacute;fono:</td>
                    <td colspan="2"><input name="telefono" type="text" class="textoform" id="telefono"></td>
                  </tr>
                  <tr>
                    <td align="right" class="textodivisiones">Celular:</td>
                    <td colspan="2"><input name="celular" type="text" class="textoform" id="celular"></td>
                  </tr>
                  <tr>
                    <td align="right" class="textodivisiones">Email:</td>
                    <td colspan="2"><input name="email" type="text" class="textoform" id="email"></td>
                  </tr>
                  <tr>
                    <td align="right" class="textodivisiones">Asunto:</td>
                    <td colspan="2"><select name="asunto" size="1" class="menuabajo" id="asunto" bgcolor="#FFFFFF">
                      <option value="asuntodefacturacion">Asuntos de facturaci&oacute;n</option>
                      <option value="interrupciones">Interrrupciones - Falta de agua</option>
                      <option value="fugas">Fugas de agua potable</option>
                      <option value="aguasnegras">Problemas de aguas negras</option>
                      <option value="alcantarillado">Problemas de alcantarillado</option>
                      <option value="calidadagua">Calidad del agua</option>
                      <option value="denuncias">Denuncias</option>
                      <option value="sugerencias">Sugerencias</option>
                      <option value="comentarios">Comentarios</option>
                                                                                                                                                                                                                                                </select></td>
                  </tr>

                  <tr>
                    <td align="right" valign="top" class="textodivisiones">Mensaje(escriba en el comentario su solicitud del asunto):</td>
                    <td colspan="2"><span class="Estilo6">
                      <textarea name="comentario" cols="30" rows="5" class="textoform" id="comentario"></textarea>
                    </span></td>
                  </tr>
                  <tr>
                    <td align="right">&nbsp;</td>
                    <td width="51"><input name="Submit2" type="submit" onClick="MM_validateForm('nombre','','R','telefono','','RisNum','celular','','NisNum','email','','RisEmail','comentario','','R');return document.MM_returnValue" value="Enviar"></td>
                    <td width="250"><input type="reset" name="Submit" value="Borrar"></td>
                  </tr>
                </table>
              </form> 
__________________
"El saber y la razón hablan, la ignorancia y el error gritan"

Última edición por GatorV; 16/12/2008 a las 10:21
  #5 (permalink)  
Antiguo 15/12/2008, 15:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

Pues si te da en blanco como bien dices es por un error, prueba poner ini_set('display_errors', 'On');

Saludos.
  #6 (permalink)  
Antiguo 15/12/2008, 15:54
Avatar de ferphp  
Fecha de Ingreso: julio-2007
Ubicación: San Pedro Sula
Mensajes: 115
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

Si es error, pero mi pregunta es ¿Qué está mal?, postié ambos codigos el del form y el del php y quiesiera saber que está mal? y muchas gracias por ayudarme!
__________________
"El saber y la razón hablan, la ignorancia y el error gritan"
  #7 (permalink)  
Antiguo 15/12/2008, 16:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

Pues porque no nos ayudas y te ayudas ejecutando el codigo que te puse y pegando aqui en el foro el error que tienes.

Saludos.
  #8 (permalink)  
Antiguo 15/12/2008, 16:10
Avatar de ferphp  
Fecha de Ingreso: julio-2007
Ubicación: San Pedro Sula
Mensajes: 115
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

ok. el codigo del error, lo copio en .htaccess y lo subo a mi carpeta raiz?
__________________
"El saber y la razón hablan, la ignorancia y el error gritan"
  #9 (permalink)  
Antiguo 15/12/2008, 16:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

No, si te fijas es una instrucción de PHP: ini_set.

Saludos.
  #10 (permalink)  
Antiguo 15/12/2008, 17:41
Avatar de ferphp  
Fecha de Ingreso: julio-2007
Ubicación: San Pedro Sula
Mensajes: 115
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

No, pues lo puse y sigue sin mostrar nada, pero así con lo que están puestos los dos codigos, que está mal? alguien que me ayude!!
__________________
"El saber y la razón hablan, la ignorancia y el error gritan"
  #11 (permalink)  
Antiguo 15/12/2008, 19:28
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

ferphp:
Sin saber los detalles del error nadie podra ayudarte.
Si la pagina te sale en blanco hay sin lugar a dudas un error.
Probablemente NO tienes configurado php para trabajar con errores en ON y lo tienes configurado para produccion.
Solucion:
Ingresa a donde estan los logs del apache y revisa que te dice el log de errores del apache; debera salir algo como Notice, fatal error etc.. que te indique donde esta el error exactamente.
Saludos
Franco
  #12 (permalink)  
Antiguo 15/12/2008, 20:01
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

Trata poniendo:

Código PHP:
<?php
error_reporting
(E_ALL);
?>
Al principio de tu codigo.
  #13 (permalink)  
Antiguo 16/12/2008, 08:37
Avatar de ferphp  
Fecha de Ingreso: julio-2007
Ubicación: San Pedro Sula
Mensajes: 115
Antigüedad: 16 años, 8 meses
Puntos: 1
Pues puse lo de Ronruby y nada, pero me fui al log de errores del apache y me da esto:

PHP Parse error: parse error, unexpected T_STRING, expecting T_CASE or T_DEFAULT or '}' in /var/www/vhosts/dominio/httpdocs/web/enviar.php on line 17

Ayuda por favor!!! que esta mal en mi código, ya postié el error que me tira, ayudaaa!
__________________
"El saber y la razón hablan, la ignorancia y el error gritan"

Última edición por GatorV; 16/12/2008 a las 11:27
  #14 (permalink)  
Antiguo 16/12/2008, 11:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

Pues no veo en que te puede dar el error, estas seguro que ese es el codigo tal cual lo tienes?

Saludos.
  #15 (permalink)  
Antiguo 16/12/2008, 11:51
Avatar de ferphp  
Fecha de Ingreso: julio-2007
Ubicación: San Pedro Sula
Mensajes: 115
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

Así es gator, ese es el que tengo en el php, pero igual, no se que puede estar mal, el error dice inesperado T_STRING y que se esperaba T_CASE o T_DEFAULT, pero no se donde pueda estar lo malo, porque la línea 17 es donde empieza el case, ayudame por favor!
__________________
"El saber y la razón hablan, la ignorancia y el error gritan"
  #16 (permalink)  
Antiguo 16/12/2008, 12:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

Pues dice el compilador que encontro un string, cuando esperaba el case expresion: o default:, por eso te comentaba si es tal cual tenias el codigo, ya que ahi esta el problema.

Saludos.
  #17 (permalink)  
Antiguo 16/12/2008, 13:36
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

ferphp:
Pruebas estas dos cosas, espero una funcionara ->
1.- Cambia el switch, asi:
Cita:
switch($asunto)
2.- O reescribela con if(...
Cita:
if($asunto == "asuntodefacturacion") {
$destinatario = "[email protected]";
} elseif(............
Saludos
Y espero resulte.
Franco
  #18 (permalink)  
Antiguo 16/12/2008, 16:20
Avatar de ferphp  
Fecha de Ingreso: julio-2007
Ubicación: San Pedro Sula
Mensajes: 115
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

Nada probé así y me está dando el mismo error que con case, en la sintaxis hay algo malo, alguien sabe? ayudaaaa!

Código PHP:
<?php

if($asunto == "asuntodefacturacion") {
     
$destinatario "[email protected]";
} elseif (
$asunto == "interrupciones") {
     
$destinatario "[email protected]";
} elseif (
$asunto == "fugas") {
     
$destinatario "[email protected]";
} elseif (
$asunto == "aguasnegras") {
     
$destinatario "[email protected]";
} elseif (
$asunto == "alcantarillado") {
     
$destinatario "[email protected]";
} elseif (
$asunto == "calidadagua") {
     
$destinatario "[email protected]";
} elseif (
$asunto == "denuncias") {
     
$destinatario "[email protected]";
} elseif (
$asunto == "sugerencias") {
     
$destinatario "[email protected]";
} elseif (
$asunto == "comentarios") {
     
$destinatario "[email protected]";
}
?>
__________________
"El saber y la razón hablan, la ignorancia y el error gritan"
  #19 (permalink)  
Antiguo 16/12/2008, 16:42
Avatar de ferphp  
Fecha de Ingreso: julio-2007
Ubicación: San Pedro Sula
Mensajes: 115
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: formulario que me seleccione el correo a enviar de acuerdo al asunto

Ya lo he solucionado, todo esa parte del if la estaba escribiendo después de declarar las variables y antes del cuerpo del mensaje, lo pase adelante del cuerpo del mensaje y listo funcionó, gracias por la ayuda de todos, y al final terminé usando el IF, saludes!
__________________
"El saber y la razón hablan, la ignorancia y el error gritan"
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:29.