Comunidad de diseño web y desarrollo en internet online

utilizo funcion mail() de php y no puedo ver la información

Citar            
MensajeEscrito el 09 Oct 2007 09:39 am
Hola amigos, hace unos dias tuve ciertos inconvenientes con la validación de un formulario, crei que todo estaba resuelto, al menos en la validación no hay problema, pero ahora, resulta que la información no me llega completa, o a la mejor es asi, porque ya intente de varias formas y nomas no me llega esa información; me llega el nombre del usuario y el comentario; pero el teléfono y el e-mail que son otro requisito pues no... nada;
les muestro el archivo PHP:

<?php
$remitente = $_REQUEST["nombre"];
$email= $_REQUEST["mail"];
$telefono= $_REQUEST["telefono"];
$mensaje = $_REQUEST["comentarios"];
en la funcion mail intento agregarle los parametros de mail y telefono, pero se bloquea todo, es decir al momento de tratar de enviarlo no manda nada, pero cuando se los quito no hay problema
mail("[email protected]", "Comentarios desde mi pagina", $mensaje, "From: $remitente");

echo "<p>Hemos recibido su comentario<p>";
echo "<p><br><p>Muy pronto nos pondremos en contacto con usted.<p>";
echo '<a href="contacto.html">Regresar</a></p>';

?>


ya desesperado visite la web y me encontre con este código, lo implemente pero solo manda el nombre del usuario


<?php
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Su nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Su Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Su telefono: " . $HTTP_POST_VARS["telefono"] . "\n";
$cuerpo .= "Comentario: " . $HTTP_POST_VARS["comentario"] . "\n";


mail("[email protected]","Formulario recibido",$cuerpo);


echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
echo '<a href="contacto.html">Regresar</a></p>';

?>


Estoy poco a poco entendiendo o tratando de entender al PHP, pero... :( el sitio ya esta arriba, y la información de los usuarios queda incompleta... alguien que me pueda hechar la mano?... aprendo rápido, le hecho muchas ganas... de veras...
bueno...me despido de momento y adelantandome... :) gracias!

Por etzekiel

107 de clabLevel



 

Mexico

msie
Citar            
MensajeEscrito el 09 Oct 2007 03:04 pm
Es que estas mandando la variable $mensaje como cuerpo del mail, y en $mensaje, efectivamente tenes guardado solo el mensaje del usuario.
Lo que deberias hacer es componer el cuerpo del mensaje, algo asi podria ser

Código :

$body = "Nombre: $remitente
Email: $email
Telefono: $telefono
Mensaje: $mensaje";


Y reemplazas en la función mail la variable $mensaje por $body (o como gustes llamar a la variable)

Código :

mail("[email protected]", "Comentarios desde mi pagina", $body, "From: $remitente");


Saludos

Por PabloHdS

251 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Oct 2007 06:41 pm
PabloHdS :) he añadido lo que me comentaste anteriormente, quedo así:



<?php
$remitente = $_REQUEST["nombre"];
$email= $_REQUEST["mail"];
$telefono= $_REQUEST["telefono"];
$mensaje = $_REQUEST["comentarios"];
$body = "Nombre: $remitente, Email: $email, Telefono: $telefono, Mensaje: $mensaje";

mail("[email protected]", "Comentarios desde mi pagina", $body, "From: $remitente");

echo "<p>Hemos recibido su comentario<p>";
echo "<p><br><p>Muy pronto nos pondremos en contacto con usted.<p>";
echo '<a href="contacto.html">Regresar</a></p>';

?>



Todo lo demás si llega, pero ahora lo que no manda es el telefono, crei que era porque tenia que concordar con <input name="teléfono" de la form, así que lo cambien pero no, sigue igual, probe con numeros y letras pero no manda nada, como ves?

Por etzekiel

107 de clabLevel



 

Mexico

msie
Citar            
MensajeEscrito el 09 Oct 2007 08:29 pm
Bueno, mi consejo, no sé que pensareís es que partas de usar sólo $_GET ó $_POST.

Revisa el atributo name de cada input y utiliza concatenación (osea, suma las variables) en logar de las magic_quotes (comillas dobles), algo así:

Código :

<?php
$body = 'Nombre: '.$_POST['nombre'].', Email: '.$_POST['mail'].', Telefono: '.$_POST['telefono'].'\nMensaje: '.$_POST['comentarios'];

mail('[email protected]', 'Comentarios desde mi pagina', $body, 'From: '.$_POST['mail']);

echo "<p>Hemos recibido su comentario<p>";
echo "<p><br><p>Muy pronto nos pondremos en contacto con usted.<p>";
echo '<a href="contacto.html">Regresar</a></p>';

?>


Para que esto funcione tu formulario ha de tener un aspecto más o menos así:

Código :

<form action="<? echo $PHP_SELF; ?>" method="post">
    Nombre : <input name="nombre" type="text" /><br />
    E-mail : <input name="mail" type="text" /><br />
    Tel&eacute;fono : <input name="telefono" type="text" /><br />
    Comentarios : <textarea name="comentarios"></textarea><br />
    <input type="submit" value="Enviar">
</form>


Esto debería funcionar a la perfección, no sé pruebalo y me dices que tal :wink:

Saludoss,

Netcy.

Por netcyberas

25 de clabLevel



Genero:Masculino  

[ Barcelona | Spain ]

firefox
Citar            
MensajeEscrito el 09 Oct 2007 09:41 pm
orale!!! Netcy vientos... gracias por tu comentario lo use, al principio me causo error pero que crees?, lo que no me habia percatado, o no se si fue eso, pero cambie el nombre de: teléfono en la validación por: telefono... como el <input name:> ... listo, el antiguo código también funciona realizando lo que te acabo de decir, pero de todas formas deje tu código...

gracias :D y de nuevo orale!!! vientos!!

Por etzekiel

107 de clabLevel



 

Mexico

msie
Citar            
MensajeEscrito el 09 Oct 2007 10:13 pm
Bueno, me alegro de que te funcione :P, cualquier cosa, ya sabes... lo posteas

Por netcyberas

25 de clabLevel



Genero:Masculino  

[ Barcelona | Spain ]

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.