FAQ
Tengo un problemita con un formulario hecho en PHP, que pasa los datos por variables por POST a otro archivo desde el cual se envía el mail. El código es el siguiente:

<?
if ($HTTP_POST_VARS){

//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Apellido y Nombre: " . $HTTP_POST_VARS["nombre"] . "\n"; //el punto concatena
$cuerpo .= "Teléfono: " . $HTTP_POST_VARS["telefono"] . "\n";
$cuerpo .= "E-mail: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Empresa: " . $HTTP_POST_VARS["empresa"] . "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["comentarios"] . "\n";
$cuerpo .= "IP: " . $REMOTE_ADDR . "\n";

//Le agrego los encabezados
$headers = "From: Correo <mail@correo.com>\r\n";
$headers .= "Reply-To: Correo <mail@correo.com>\r\n"; //responder al correo

//Mando el correo, le indico un servidor de correo distinto de donde está alojada la página
mail($email,"Contacto desde Sitio WeB",$cuerpo,$headers);

//Estoy recibiendo el formulario, compongo el cuerpo
$respo = "Su correo ha sido recibido y será respondido dentro de las próximas 24 hs.\n
Este correo confirma su envío efectuado desde nuestro formulario de contacto.\n Si recibe este correo por accidente, por favor, comuníquelo a nuestro Administrador de red.\n";

$email = "mail@correo.com";
$email2 = " ".$HTTP_POST_VARS["email"];

//Mando el correo, el @ es para evitar mensajes de error en el navegador
mail($email2,"Contacto recibido",$respo,$headers);

// Redirecciono la página
header("Location: ../gracias.php");

// Termino esta página
exit;
}
?>


El tema es que el correo a $email nunca llega, pero en cambio a $email2 sí llega correctamente. Los del hosting anunciaron que migraban a la versión de PHP 5.3.1, y desde ese momento tengo problemas, pero no sé si es que el formulario es obsoleto o hay alguna función que no encuentro y que en esta versión de PHP caducó.

Muchas gracias al que me pueda dar una mano.

Search Discussions

  • S Silva at Jun 24, 2010 at 8:27 am
    (...)
    mail($email,"Contacto desde Sitio WeB",$cuerpo,$headers);
    $respo = "Su correo ha sido recibido.\n";
    $email = "mail@correo.com";
    (...)

    No debería ser? :

    (...)
    $email = "mail@correo.com";
    mail($email,"Contacto desde Sitio WeB",$cuerpo,$headers);
    $respo = "Su correo ha sido recibido.\n";
    (...)

    El 24 de junio de 2010 04:30, Patricio <patricio_riviello@hotmail.com>escribió:
    //Mando el correo, le indico un servidor de correo distinto de donde está
    alojada la página
    mail($email,"Contacto desde Sitio WeB",$cuerpo,$headers);

    //Estoy recibiendo el formulario, compongo el cuerpo
    $respo = "Su correo ha sido recibido y será respondido dentro de las
    próximas 24 hs.\n
    Este correo confirma su envío efectuado desde nuestro formulario de
    contacto.\n Si recibe este correo por accidente, por favor, comuníquelo a
    nuestro Administrador de red.\n";

    $email = "mail@correo.com";
  • Patricio Riviello at Jun 24, 2010 at 1:59 pm
    Mmmmm... no, sigue igual... Tenía entendido que PHP puede tomar las variables en cualquier lugar del código, mientras estén declaradas, pero de cualquier modo hice la modificación para dejarlo más prolijo, pero no anduvo. :(





    _____________________________________________

    "Mi plan es vivir eternamente. Hasta ahora lo estoy cumpliendo perfectamente."







    Date: Thu, 24 Jun 2010 10:27:10 +0200
    Subject: Re: [PHP-ES] HTTP_POST_VARS y función mail
    From: ssilvap@gmail.com
    To: patricio_riviello@hotmail.com
    CC: php-es@lists.php.net

    (...)
    mail($email,"Contacto desde Sitio WeB",$cuerpo,$headers);
    $respo = "Su correo ha sido recibido.\n";
    $email = "mail@correo.com";
    (...)

    No debería ser? :

    (...)
    $email = "mail@correo.com";
    mail($email,"Contacto desde Sitio WeB",$cuerpo,$headers);
    $respo = "Su correo ha sido recibido.\n";
    (...)


    El 24 de junio de 2010 04:30, Patricio <patricio_riviello@hotmail.com> escribió:


    //Mando el correo, le indico un servidor de correo distinto de donde está alojada la página
    mail($email,"Contacto desde Sitio WeB",$cuerpo,$headers);

    //Estoy recibiendo el formulario, compongo el cuerpo
    $respo = "Su correo ha sido recibido y será respondido dentro de las próximas 24 hs.\n
    Este correo confirma su envío efectuado desde nuestro formulario de contacto.\n Si recibe este correo por accidente, por favor, comuníquelo a nuestro Administrador de red.\n";

    $email = "mail@correo.com";

    _________________________________________________________________
  • Andrés G. Montañez at Jun 24, 2010 at 11:16 am
    Hola, tu problema esta con la variable HTTP_POST_VARS
    que ya está deprecated.
    Usa $_POST

    2010/6/23 Patricio <patricio_riviello@hotmail.com>:
    Tengo un problemita con un formulario hecho en PHP, que pasa los datos por variables por POST a otro archivo desde el cual se envía el mail. El código es el siguiente:

    <?
    if ($HTTP_POST_VARS){

    //Estoy recibiendo el formulario, compongo el cuerpo
    $cuerpo = "Apellido y Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";  //el punto concatena
    $cuerpo .= "Teléfono: " . $HTTP_POST_VARS["telefono"] . "\n";
    $cuerpo .= "E-mail: " . $HTTP_POST_VARS["email"] . "\n";
    $cuerpo .= "Empresa: " . $HTTP_POST_VARS["empresa"] . "\n";
    $cuerpo .= "Comentarios: " . $HTTP_POST_VARS["comentarios"] . "\n";
    $cuerpo .= "IP: " . $REMOTE_ADDR . "\n";

    //Le agrego los encabezados
    $headers = "From: Correo <mail@correo.com>\r\n";
    $headers .= "Reply-To: Correo <mail@correo.com>\r\n";  //responder al correo

    //Mando el correo, le indico un servidor de correo distinto de donde está alojada la página
    mail($email,"Contacto desde Sitio WeB",$cuerpo,$headers);

    //Estoy recibiendo el formulario, compongo el cuerpo
    $respo = "Su correo ha sido recibido y será respondido dentro de las próximas 24 hs.\n
    Este correo confirma su envío efectuado desde nuestro formulario de contacto.\n Si recibe este correo por accidente, por favor, comuníquelo a nuestro Administrador de red.\n";

    $email = "mail@correo.com";
    $email2 = " ".$HTTP_POST_VARS["email"];

    //Mando el correo, el @ es para evitar mensajes de error en el navegador
    mail($email2,"Contacto recibido",$respo,$headers);

    // Redirecciono la página
    header("Location: ../gracias.php");

    // Termino esta página
    exit;
    }
    ?>


    El tema es que el correo a $email nunca llega, pero en cambio a $email2 sí llega correctamente. Los del hosting anunciaron que migraban a la versión de PHP 5.3.1, y desde ese momento tengo problemas, pero no sé si es que el formulario es obsoleto o hay alguna función que no encuentro y que en esta versión de PHP caducó.

    Muchas gracias al que me pueda dar una mano.


    --
    Andrés G. Montañez
    Zend Certified Engineer
    Montevideo - Uruguay
  • Patricio at Jun 25, 2010 at 10:56 am
    Muchas gracias a todos por los aportes. Funciona perfectamente.
    Saludos!


    --------------------------------------------------
    From: "Andrés G. Montañez" <andresmontanez@gmail.com>
    Sent: Thursday, June 24, 2010 8:16 AM
    To: "Patricio" <patricio_riviello@hotmail.com>
    Cc: <php-es@lists.php.net>
    Subject: Re: [PHP-ES] HTTP_POST_VARS y función mail
    Hola, tu problema esta con la variable HTTP_POST_VARS
    que ya está deprecated.
    Usa $_POST

    2010/6/23 Patricio <patricio_riviello@hotmail.com>:
    Tengo un problemita con un formulario hecho en PHP, que pasa los datos
    por variables por POST a otro archivo desde el cual se envía el mail. El
    código es el siguiente:

    <?
    if ($HTTP_POST_VARS){

    //Estoy recibiendo el formulario, compongo el cuerpo
    $cuerpo = "Apellido y Nombre: " . $HTTP_POST_VARS["nombre"] . "\n"; //el
    punto concatena
    $cuerpo .= "Teléfono: " . $HTTP_POST_VARS["telefono"] . "\n";
    $cuerpo .= "E-mail: " . $HTTP_POST_VARS["email"] . "\n";
    $cuerpo .= "Empresa: " . $HTTP_POST_VARS["empresa"] . "\n";
    $cuerpo .= "Comentarios: " . $HTTP_POST_VARS["comentarios"] . "\n";
    $cuerpo .= "IP: " . $REMOTE_ADDR . "\n";

    //Le agrego los encabezados
    $headers = "From: Correo <mail@correo.com>\r\n";
    $headers .= "Reply-To: Correo <mail@correo.com>\r\n"; //responder al
    correo

    //Mando el correo, le indico un servidor de correo distinto de donde está
    alojada la página
    mail($email,"Contacto desde Sitio WeB",$cuerpo,$headers);

    //Estoy recibiendo el formulario, compongo el cuerpo
    $respo = "Su correo ha sido recibido y será respondido dentro de las
    próximas 24 hs.\n
    Este correo confirma su envío efectuado desde nuestro formulario de
    contacto.\n Si recibe este correo por accidente, por favor, comuníquelo a
    nuestro Administrador de red.\n";

    $email = "mail@correo.com";
    $email2 = " ".$HTTP_POST_VARS["email"];

    //Mando el correo, el @ es para evitar mensajes de error en el navegador
    mail($email2,"Contacto recibido",$respo,$headers);

    // Redirecciono la página
    header("Location: ../gracias.php");

    // Termino esta página
    exit;
    }
    ?>


    El tema es que el correo a $email nunca llega, pero en cambio a $email2
    sí llega correctamente. Los del hosting anunciaron que migraban a la
    versión de PHP 5.3.1, y desde ese momento tengo problemas, pero no sé si
    es que el formulario es obsoleto o hay alguna función que no encuentro y
    que en esta versión de PHP caducó.

    Muchas gracias al que me pueda dar una mano.


    --
    Andrés G. Montañez
    Zend Certified Engineer
    Montevideo - Uruguay

    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedJun 24, '10 at 2:30a
activeJun 25, '10 at 10:56a
posts5
users3
websitephp.net

People

Translate

site design / logo © 2022 Grokbase