Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/11/2006, 20:04
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
No puedes hacer simplemente:
$mail->Body = $_REQUEST

Así es lógico que te diga "array" por qué eso es lo que es .. un array que contiene todas las variables que en tu formulario (por GET o POST e incluso COOKIES definieses) tengas.

Tienes várias opciones y consejos que seguir:

1) .. Si no te interesa dar formato a tu e-mail (lo cual deberías hacer!!!!!) y no usarlo como un simple "form2mail" de aquellos de hace una decada casi (en Perl/CGI) genéricos .. deberías hacer algo tipo.

Código PHP:
$body "Datos recibidos:<br>";
foreach (
$_POST as $variable=>$valor){
$body .= $variable." = ".$valor."<br>"
// no veo si envias el e-mail en HTML o en texto plano .. en cualquier caso será un tag html de salo de línea como el <br> o bien un código de control como el \n
}

$mail->Body $body;
// etc ... 
Si te fijas, con el bucle foreach() recorro el array POST (y no "REQUEST" .. sólo quiero lo que tu formulario me entrega .. no quiero lo que me mentan por GET ni sea COOKIE = cuanto más discrimines y mejor filtres mejor para tu seguridad .. ).

2) .. Quedaría mejor componer un e-mail (el cuerpo) concatenando tus variables del formulario con algún formato que le des más "legible" para la persona que lo reciba según el contexto de lo que signifiquen para quien lo tenga que procesar.

Código PHP:
$body "blabal ".$_POST['alguna_variable']." más blabla ".$_POST['otra_variale']. "etc ..."
Otros consejos:
No debes confiar sólo en las validaciones javascript .. debes validar también en código PHP (del lado del servidor) .. por qué te podrían inyectar datos directamente a tu script de proceso y pasar por alto tu validación Javascirpt.

NO uses $_REQUEST, usa el método que esperas ($_POST, $_GET . etc).

Ahora está de moda usar los formularios de contactos como el tuyo para hacer "spam" .. valida que no te ingresen ciertos datos que podrían ser tomados como "cabeceras" e inyectar código para hacer envios de e-mail a traves de tu formulario a otras direcciones.

Revisa este mensaje sobre el tema:
http://www.forosdelweb.com/f18/seguridad-anti-spam-357765/

No estaría de más por seguridad usar en tu formulario las técnicas de "Captcha" (tienes una FAQ que explica el método).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.