Foros del Web » Programando para Internet » PHP »

enviar datos de un formulario con php

Estas en el tema de enviar datos de un formulario con php en el foro de PHP en Foros del Web. no puedo enviar datos de un formulario por mail con php segun el codigo lo envia pero no recibo nada ¿por favor ayuda?...

  #1 (permalink)  
Antiguo 05/05/2005, 10:31
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
enviar datos de un formulario con php

no puedo enviar datos de un formulario por mail con php
segun el codigo lo envia pero no recibo nada
¿por favor ayuda?
  #2 (permalink)  
Antiguo 05/05/2005, 11:10
Avatar de Bunker
(Desactivado)
 
Fecha de Ingreso: marzo-2005
Ubicación: .::Florida-Usa::.
Mensajes: 234
Antigüedad: 12 años, 8 meses
Puntos: 0
hola Amigo estoy seguro el 90% que el servidor de hosting donde esta tu pagina esta bloqueada esa funsion ya que a mi me paso igual!!! tienes una opcion y es crearle una base de datos ó hablar con tu compañia de hosting para q desbloqueen eso ya que estan filtrando muchos spam por ese medio
Suerte!!!
un saludo!!!!
  #3 (permalink)  
Antiguo 05/05/2005, 13:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Te vuelvo a insistir en lo mismo que ya te comenté en otro mensaje:

Indica más datos sobre tu problema .. Realmente hay que ser adivino para ver tu situación concreta .. No mencionas si usas tu PC como pruebas .. o un servicio de hosting .. ni el código que usas .. ni a donde pretendes enviar tus e-mails .. etc. En fin cuantos más datos proporciones mejor será para darte alguna respuesta más coherente o decirte que debes ir revisando para detectar tu problema.

Un saludo,
  #4 (permalink)  
Antiguo 05/05/2005, 16:00
Avatar de Fullmaster  
Fecha de Ingreso: mayo-2005
Mensajes: 13
Antigüedad: 12 años, 7 meses
Puntos: 0
Bunker tiene Razon.

Cita:
Iniciado por Bunker
hola Amigo estoy seguro el 90% que el servidor de hosting donde esta tu pagina esta bloqueada esa funsion ya que a mi me paso igual!!! tienes una opcion y es crearle una base de datos ó hablar con tu compañia de hosting para q desbloqueen eso ya que estan filtrando muchos spam por ese medio
Suerte!!!
un saludo!!!!

Si Bunker tiene razon a mi me paso lo mismo puede ser eso.

Saludos
  #5 (permalink)  
Antiguo 05/05/2005, 17:55
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
que el codigo diga que si envio el mail no quiere decir nada, ya que puede estar mal hecho la forma en como el script interpreta si se mano o no...

por ende... pon algo de codigo! sino es imposible ayudarte
__________________
oohh... quisiera ser godines!!!
  #6 (permalink)  
Antiguo 06/05/2005, 07:21
Avatar de Bunker
(Desactivado)
 
Fecha de Ingreso: marzo-2005
Ubicación: .::Florida-Usa::.
Mensajes: 234
Antigüedad: 12 años, 8 meses
Puntos: 0
Exclamación

para mi en lo particular Amigos, estoy seguro que es el Server de todas manera no hay que descartar nada!!
Saludos!
  #7 (permalink)  
Antiguo 06/05/2005, 08:06
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 13 años, 9 meses
Puntos: 0
discrepo de bunker por que si el server estuviera desabilitado no lo enviaria y te daria un error de post, si dice que lo envio es algo en el script
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
  #8 (permalink)  
Antiguo 06/05/2005, 08:40
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Bunker: tan complicado te parece copiar el codigo que usas para mandar el mail y pegarlo aca? Es el primer paso que tenes que dar para encontrar una solucion, sino no postees nada y busca la solucion con la ayuda de google...
__________________
oohh... quisiera ser godines!!!
  #9 (permalink)  
Antiguo 06/05/2005, 08:55
Avatar de Bunker
(Desactivado)
 
Fecha de Ingreso: marzo-2005
Ubicación: .::Florida-Usa::.
Mensajes: 234
Antigüedad: 12 años, 8 meses
Puntos: 0
Desacuerdo

Cita:
Iniciado por safe
Bunker: tan complicado te parece copiar el codigo que usas para mandar el mail y pegarlo aca? Es el primer paso que tenes que dar para encontrar una solucion, sino no postees nada y busca la solucion con la ayuda de google...
no es por renegar de sus comentarios pero eso me paso varias veces y me decia lo mismo el mensaje fue enviado y no llegaba a la bandeja, contacte a soporte del server y me dijero que estaba deshabilitado ya que estaban filtrando muchos Spam por ese medio, claro que tambien puede ser el codigo!!! otra cosa safe este foro es libre para postiar y si le quieres aportar algo productivo al amigo patouc mete un codigo o algo por el estilo no solo nombres (es el codigo ) aporta tambien y no solo trates de quedar como interesante con tu post!!

SaludoS.
  #10 (permalink)  
Antiguo 06/05/2005, 09:26
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
Este es el codigo
por favor necesito su ayuda

<html>
<head>
<title>Enviar</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body,td,th {
color: #000099;
}
body {
background-color: #CCCCCC;
}
-->
</style></head>

<body link="#006060" vlink="#006060">
<?
if (!$HTTP_POST_VARS){
?>
<form action="6.php" method=post name="formulario" id="formulario">
Nombre:
<input type=text name="nombre" size=16>
<br>
Email:
<input type=text name=email size=16>
<br>
Comentarios: <textarea name=comentarios cols=32 rows=6 id="comentarios"></textarea>
<br>
<input name="enviar" type=submit id="enviar" value="Enviar">
</form>
<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["comentarios"] . "\n";

//mando el correo...
mail("[email protected]","Formulario recibido",$cuerpo);

//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>
</body>
</html>

saludos
gracias
  #11 (permalink)  
Antiguo 06/05/2005, 10:02
Avatar de Bunker
(Desactivado)
 
Fecha de Ingreso: marzo-2005
Ubicación: .::Florida-Usa::.
Mensajes: 234
Antigüedad: 12 años, 8 meses
Puntos: 0
Exclamación

Hola patuoac probe el Form un no llega a la bandeja aki te mando uno que funsiona correctamente!!

Guardalo en html
Código HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento sin t&iacute;tulo</title>
<style type="text/css">
<!--
.Estilo1 {color: #000000}
-->
</style>
</head>

<body>
<form method="POST" action="enviado.php">
<form name="form1" method="post" action=""><table width="490">
                <tr>
                  <td width="1"><br>
                    <br></td>
                  <td width="447" align="center" valign="middle" class="Estilo1"><div align="center">
                    <p>&nbsp;</p>
                    <table width="414" height="221" border="0" align="center">
                      <tr>
                        <th width="53" height="54" valign="top" scope="col"><div align="right" class="Estilo1"><font size="1" face="Verdana"><b>Nombre:</b></font></div></th>
                        <th width="114" valign="top" scope="col"><span class="Estilo1"><font size="1" face="Verdana"><b>
                          <input name="nombre" type="text" id="nombre" style="background-color: #FFFFFF; color: #000000; border: 1 solid #000000" size="19">
                        </b></font></span></th>
                        <th width="45" valign="top" scope="col"><div align="right" class="Estilo1"><font size="1" face="Verdana"><b>Mensaje:</b></font></div></th>
                        <th width="184" rowspan="3" valign="top" scope="col"><div align="left" class="Estilo1">
                            <textarea name="mensaje" cols="25" rows="8" id="mensaje" style="background-color: #FFFFFF; border: 1 solid #000000"></textarea>
                            </div></th>
                      </tr>
                      <tr>
                        <td height="45" valign="top"><div align="right" class="Estilo1"><font size="1" face="Verdana"><b>E-mail:&nbsp;</b></font></div></td>
                        <td valign="top"><div align="center" class="Estilo1"><font size="1" face="Verdana"><b>
                            <input name="email" type="text" id="email" style="background-color: #FFFFFF; border: 1 solid #000000" size="19">
                        </b></font></div></td>
                        <td valign="top"><span class="Estilo1"></span></td>
                      </tr>
                      <tr>
                        <td height="38" valign="top"><div align="right" class="Estilo1">
                          <p><font size="1" face="Verdana"><b>Pais:&nbsp;<br>
                            <br>
                            </b></font></p>
                          <p><font size="1" face="Verdana"><b><br>
                            Asunto:
                          </b></font></p>
                        </div></td>
                        <td valign="top"><p class="Estilo1"><font size="1" face="Verdana"><b>
                            <input name="pais" type="text" id="pais" style="background-color: #FFFFFF; border: 1 solid #000000" size="19">
                            <br>
                            </b></font></p>
                          <p class="Estilo1"><font size="1" face="Verdana"><b>
                              <select name="asunto" size="1" id="asunto">
                                      <option selected>Seleccione</option>
                                      <option>Preguntas</option>
                                      <option>Informacion</option>
                                      <option>Comentario</option>
                                    </select>
                            </b></font></p></td>
                        <td valign="top"><span class="Estilo1"></span></td>
                      </tr>
                      <tr>
                        <td><span class="Estilo1"></span></td>
                        <td><span class="Estilo1"></span></td>
                        <td colspan="2"><div align="right" class="Estilo1"><span class="style42">
                            <input type="submit" value="Enviar" name="enviar2" style="background-color: #FFFFFF; border: 1 solid #000000">
                            </span>
                                <input type="reset" value="Borrar" name="borrar2" style="background-color: #FFFFFF; border: 1 solid #000000">
                                <span class="style42"> .........</span> </div></td>
                      </tr>
                    </table>
                  </div>
                    <div align="center"></div>                    
                    <p align="center"><span class="Estilo3"><br>
                      </span></p>
                    </td>
                  <td width="26">&nbsp;</td>
                </tr>
              </table>                
                <br>
                
</form>
</body>
</html> 

este tienes que guardarlo como enviado.php

Código PHP:
<?php

//E-mail en donde se recibirá el Formulario.
//puedes poner Varios Email

$recipiente "[email protected] ,  [email protected] ";

//URL de tu Sitio Web.

$sw "http://www.tudominio.com ";

//Mensaje que te llegará al Correo, con los datos ingresados.

$msg " $nombre, le envia a través del formulario de tudominio.com lo siguiente

Nombre: $nombre
Email: $email
Pais: $pais
Asunto: $asunto
Mensaje: $mensaje"
;

//Comprobamos que los campos del formulario se encuentren completos.

if (empty($nombre)){
echo 
"<p align=center><font face=tahoma size=2><b><font color=#FF0000>Error:</font> No has
ingresado tu Nombre.</b></font></p>"
;
}
if(empty(
$email)){
echo 
"<p align=center><font face=tahoma size=2><b><font color=#FF0000>Error:</font> No has
ingresado tu E-mail.</b></font></p>"
;
}
if(empty(
$pais)){
echo 
"<p align=center><font face=tahoma size=2><b><font color=#FF0000>Error:</font> No has
seleccionado un Pais.</b></font></p>"
;
}
if(empty(
$asunto)){
echo 
"<p align=center><font face=tahoma size=2><b><font color=#FF0000>Error:</font> No has
seleccionado un Asunto.</b></font></p>"
;

if(empty(
$mensaje)){
echo 
"<p align=center><font face=tahoma size=2><b><font color=#FF0000>Error:</font> No has
ingresado el Mensaje.</b></font></p>"
;
}else{

//Limpiamos de posibles ataques.

$mensaje ereg_replace("rn","<br>"$mensaje);

$nombre htmlentities($nombre);
$email htmlentities($email);
$mensaje htmlentities($mensaje);

//Enviamos el E-mail con todos los datos.

mail("$recipiente""$asunto""$msg""FROM: $email");

//Damos las gracias al visitante por contactarnos.

echo"<font face=tahoma size=2>
<p align=center>Gracias <b>$nombre</b>. 
<p align=center>Responderemos tu mensaje en un plazo de 24 a 48 horas.<br><br>
<br>
<br>
<br>
<br>
</p>
<p align=center><br>
<a href=$sw>Regresa a contactos</a>.</p>"
;
}
?>
corre en perfectas condiciones!!
Suerte!!
un saludo.
  #12 (permalink)  
Antiguo 06/05/2005, 10:03
Avatar de Bunker
(Desactivado)
 
Fecha de Ingreso: marzo-2005
Ubicación: .::Florida-Usa::.
Mensajes: 234
Antigüedad: 12 años, 8 meses
Puntos: 0
patouc es mas con ese formulario ,lo puedes modificar y ponerle muchas mas funsiones!!!

Saludos!!
  #13 (permalink)  
Antiguo 06/05/2005, 10:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
patouc

Te faltan cabeceras básicas para definir el e-mail .. ejemplos tienes en esta FAQ del foro PHP.

http://www.forosdelweb.com/showthrea...350#post254350
Y la documentación oficial de PHP:
www.php.net/mail

Justamente por qué muchos filtros de anti-spam .. lo primero que validan es eso mismo .. un minimo de formato del e-mail correcto que indique al menos un "FROM" y cosas similares.

Eso es el primer paso para evaluar tu problema .. Si tienes más problemas, consulta a tu proveedor como por aquí ya te han comentado si ese que para el domino (es una dirección a la que envias que tienes problemas? .. son más? ... ) lo tienen bloqueado.


Un saludo,
  #14 (permalink)  
Antiguo 06/05/2005, 10:31
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
estoy con servidor apache corriendo
no puedo correr iis para ver en formato html
  #15 (permalink)  
Antiguo 06/05/2005, 10:41
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
bunker porfavor ayuda
soy principiante
  #16 (permalink)  
Antiguo 06/05/2005, 10:48
Avatar de Bunker
(Desactivado)
 
Fecha de Ingreso: marzo-2005
Ubicación: .::Florida-Usa::.
Mensajes: 234
Antigüedad: 12 años, 8 meses
Puntos: 0
agrega mi MSN a tuyo para que podemos hacer!! te lo mando en privado!!!
  #17 (permalink)  
Antiguo 06/05/2005, 10:55
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
bunker aqui en el trabajo no tengo habilitado el msn no
puedo utilizarlo
agradezco tu ayuda por favor
saludos
  #18 (permalink)  
Antiguo 06/05/2005, 11:01
Avatar de Bunker
(Desactivado)
 
Fecha de Ingreso: marzo-2005
Ubicación: .::Florida-Usa::.
Mensajes: 234
Antigüedad: 12 años, 8 meses
Puntos: 0
okey el codigo enviado ajuro tiene que ser extension .php ahora el forms lo puedes guardar en diferentes extensiones .php .html .htm etc. si el server no puede corre PHP estamos mal patouc...
  #19 (permalink)  
Antiguo 06/05/2005, 11:14
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
en la pagina enviado.php

me sale esto:

Error: No has ingresado tu Nombre.

Error: No has ingresado tu E-mail.

Error: No has seleccionado un Pais.

Error: No has seleccionado un Asunto.

Error: No has ingresado el Mensaje
  #20 (permalink)  
Antiguo 06/05/2005, 11:20
Avatar de Bunker
(Desactivado)
 
Fecha de Ingreso: marzo-2005
Ubicación: .::Florida-Usa::.
Mensajes: 234
Antigüedad: 12 años, 8 meses
Puntos: 0
okey cuanto pesa tu pagina? para ver si te puedo dar un pequeño espacio!!!
  #21 (permalink)  
Antiguo 06/05/2005, 11:25
Avatar de Bunker
(Desactivado)
 
Fecha de Ingreso: marzo-2005
Ubicación: .::Florida-Usa::.
Mensajes: 234
Antigüedad: 12 años, 8 meses
Puntos: 0
trata de configurar en enviado.php
esto:
//URL de tu Sitio Web.

$sw = "http://www.tudominio.com/carpeta/carpeta/nombre.html

tienes que poner la ruta especifica donde esta el html ó form!! y si alli no se soluciona, la funsion del server esta deshabilitada!!
  #22 (permalink)  
Antiguo 06/05/2005, 11:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
De tu primer ejemplo patouc .. por qué no añades simplemente las cabeceras HTTP que te hacen falta:

Código PHP:
mail("[email protected]","Formulario recibido",$cuerpo,"FROM: <quiensea> [email protected]\n"); 
Y así con el resto de cabeceras que puedes apreciar en la FAQ que te mencioné?

Si te fijas . el ejemplo de bunker sólo se diferencia con el tuyo en lo que respecta a la función mail en:
mail("$recipiente", "$asunto", "$msg", "FROM: $email");

El resto de validaciones y demás ya dependerá de tu caso concreto ... Por ejemplo .. bunker "asume" como globlales toda variable externa al script (ese $nombre y demás) .. por ende si tu en tus servidores usas: register_globals a OFF (en tu php.ini) no te va a funcionar .. Usa simpre los arrays superglobales: $_GET, $_POST,etc (o $HTTP_xxx_VARS mínimo) (tambien por tu seguridad .. una de las primeras FAQ's del foro PHP habla del tema).

Un saludo,
  #23 (permalink)  
Antiguo 06/05/2005, 11:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Otros detalles a tener en cuenta:

http://www.php.net/manual/en/function.mail.php

Por ejemplo el hecho de separar las cabeceras por un \n\r es lo que recomiendan .. pero si no funcionan dice ahí mismo que uses \n

Cita:
additional_headers (optional)
String to be inserted at the end of the email header.

This is typically used to add extra headers (From, Cc, and Bcc). Multiple extra headers should be separated with a CRLF (\r\n).

Note: If messages are not received, try using a LF (\n) only. Some poor quality Unix mail transfer agents replace LF by CRLF automatically (which leads to doubling CR if CRLF is used). This should be a last resort, as it does not comply with RFC 2822.

Un saludo,
  #24 (permalink)  
Antiguo 06/05/2005, 11:34
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
bunker ¿porque no me recibe el formulario en la pagina enviado.php?
  #25 (permalink)  
Antiguo 06/05/2005, 11:39
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
¿porque ese error?
ayuda porfavor
  #26 (permalink)  
Antiguo 06/05/2005, 11:50
Avatar de Bunker
(Desactivado)
 
Fecha de Ingreso: marzo-2005
Ubicación: .::Florida-Usa::.
Mensajes: 234
Antigüedad: 12 años, 8 meses
Puntos: 0
el form y el enviado.php estan juntos!! si estan juntos y sigue dando ese error patouc esta deshabilitada esa funsion por que ese form a mi me trabaja muy bien y hasta ahora no he tenido problemas!!! si quieres mandame tu E-mail y en el transcurso de la tarde te mando un form en zip para ver si logramos resolver el problema y tranquilo eso lo arreglamos!!
un saludo metete Aqui!! hay varios Forms

Última edición por Bunker; 06/05/2005 a las 11:55
  #27 (permalink)  
Antiguo 06/05/2005, 12:11
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
a que te refieres que esten juntos?
disculpa que sea tan duro de entender
saludos
  #28 (permalink)  
Antiguo 06/05/2005, 12:18
Avatar de Bunker
(Desactivado)
 
Fecha de Ingreso: marzo-2005
Ubicación: .::Florida-Usa::.
Mensajes: 234
Antigüedad: 12 años, 8 meses
Puntos: 0
tranquilo para estamos todos para ayudarnos, tienen que estar los dos archivos juntos el html y el php en la misma carpta!! no pueden estar separados!!!
Saludos!
  #29 (permalink)  
Antiguo 06/05/2005, 12:32
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 0
sí estan juntos .
mi e-mail [email protected]
agradezco tu ayuda.
saludos
  #30 (permalink)  
Antiguo 06/05/2005, 13:43
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Cita:
Iniciado por Bunker
no es por renegar de sus comentarios pero eso me paso varias veces y me decia lo mismo el mensaje fue enviado y no llegaba a la bandeja, contacte a soporte del server y me dijero que estaba deshabilitado ya que estaban filtrando muchos Spam por ese medio, claro que tambien puede ser el codigo!!! otra cosa safe este foro es libre para postiar y si le quieres aportar algo productivo al amigo patouc mete un codigo o algo por el estilo no solo nombres (es el codigo ) aporta tambien y no solo trates de quedar como interesante con tu post!!

SaludoS.
No iba por ese lado mi comentario... lo que queria hacerte entender que vos decias "me dice el mensaje fue enviado pero no llega nada" pero sin saber como era tu script era imposible saber si el problema era del servidor o de que porque, por ejemplo, podrias estar haciendo esto:

Código PHP:
mail(......)
echo 
"el mensaje fue enviado"
por lo que ese mensaje no hubiese sido para nada una seguridad de que hubiese mandado el mail o no.

Por ende si ponias el codigo que usabas y se comprobaba que estaba bien, te podrian haber tirado ideas sobre que otra cosa podria estar causando el problema.
Era una cuestion de ir directo al problema en vez de que todos tiren supuestos...

Un saludo.
__________________
oohh... quisiera ser godines!!!
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 22:32.