Ver Mensaje Individual
  #6 (permalink)  
Antiguo 09/03/2006, 16:39
okram
Invitado
 
Mensajes: n/a
Puntos:
exacto

tal como te muestra emiliodeg, no es muy complicado entender el codigo, mas bien aqui te propongo otra manera, en caso prefieras ocultar las direcciones de correo de los destinatarios, usando el switch que te mencione:

Primero el formulario:

Código HTML:
<form name="enviar" action="enviar.php" method="POST">
Nombre (De): <input type="text" size="30" name="sender_name"><br />
Email (De): <input type="text" size="30" name="sender_mail"><br />
Enviar a (Email): <select name="destinatario">
<option value="mama">A mi mama</option>
<option value="papa">A mi papa</option>
<option value="perrito">A mi firulais</option>
<option value="yo">A mi yo</option>
</select><br />
Mensaje: <textarea......></textarea><br /><br />
<input type="submit" value="Enviar" name="FrmSbmt">
</form> 
Luego en enviar.php

Código PHP:
//
//

<? 
if(isset($_POST['FrmSbmt'] && !empty($_POST['sender_mail']) && !empty($_POST['sender_message']) && !empty($_POST['sender_subject']) && !empty($_POST['sender_name'])) 


//Esto en caso de que todo esta lleno

//asignas a cada nombre una direccion de correo
    
switch($_POST['destinatario']) {
case 
"mama":
{
$destinatario "[email protected]";
break;
}
case 
"papa":
{
$destinatario "[email protected]";
break;
}
case 
"perrito":
{
$destinatario "[email protected]";
break;
}
case 
"yo":
{
$destinatario "[email protected]";
break;
}
// y finalmente un default porseacaso, que sera devuelto en caso de no cumplir ninguno de los casos anteriores
default:
{
 die(
'Error numero algo');
break;
}
}

// la dinamica del swicth es sencilla:
// inicias con switch('$variable') {
// luego para cada valor de la variable le asignas un resultado:
// case "valor1":
// ....RESULTADO 1...
// break;
// case "valor2":
// ....RESULTADO 2...
// break;
// y siempre debes terminar cada case con un break:
// break;
// ademas es bueno siempre tener un default, por si el valor de la varuiable no coincido con ninguno de los valores preeestablecidos:
// default:
// ....RESULTADO PARA EL DEFAULT...
// break;
// }

$subject $_POST['subject'];
$message $_POST['message'];
$sender_name $_POST['sender_name'];
$sender_mail $_POST['sender_mail'];

    
$to $destinatario
    
$subject stripslashes($subject); 
    
$body stripslashes($message); 
    
$body .= "\n\n---------------------------\n"
    
$body .= "Mail sent by: " $sender_name " <" $sender_mail  ">\n"
    
$header "From: " $sender_name " <" $sender_mail ">\n"
    
$header .= "Reply-To: " $sender_name " <" $sender_mail ">\n"
    
$header .= "X-Mailer: PHP/" phpversion() . "\n"
    
$header .= "X-Priority: 1"
    if(@
mail($to$subject$body$header)) 
    { 
        echo 
"output=sent"
    } else { 
        echo 
"output=error"
    } 
} else { 
    echo 
"output=error"

?>  

//
//
bueno fijate en algunas correciones uqe hice, como el uso de HTTP_POST_VARS... leete este articulo: http://www.webestilo.com/php/articulo.phtml?art=38

Ademas observa que cambie tus || a la hora de hacer tus comprobaciones de los campos, y le puse &&.... usar || es como un O, mientras que && es un Y. En el primer caso, bastara que solo un campo este lleno para que el codigo proceda, mientras que en el segundo, todo debera contener datos para proceder con el codigo.

Salu2