Foros del Web » Programando para Internet » PHP »

Formulario(send) - PHP(process) - eMail(receipt)

Estas en el tema de Formulario(send) - PHP(process) - eMail(receipt) en el foro de PHP en Foros del Web. Buenas... escribo para pedirles un gran favor... tengo una cuenta de hosting con godaddy que soporta PHP y pues quiero poner una pagina, donde vaya ...
  #1 (permalink)  
Antiguo 04/08/2005, 21:05
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Formulario(send) - PHP(process) - eMail(receipt)

Buenas... escribo para pedirles un gran favor...

tengo una cuenta de hosting con godaddy que soporta PHP y pues quiero poner una pagina, donde vaya un formulario con dos campos, nombre y mensaje, y que cuando la gente de SEND estos datos lleguen a mi email y despues se redireccione a una pagina de agradecimiento... es facil y simple para uds que saben php, yo aun no he podido entender como hacer esto, por eso les pido su ayuda, si alguien me podria facilitar este codigo completo en un txt donde yo pueda analizar y entender com oes ke funciona la cosa, desde donde empieza la pagina hasta donde termina.. no se si es mucho pedir.. en todo caso agradezco la persona que me quiera colaborar... ya se que me van a decir ke hay muchos totoriales donde explican eso, pero cas siempre explican la funcion y la sentencia, y no todo el proceso ya en la pagina montada lista pa subir al server...

muchisimas Gracias al que me haga el favor ......
  #2 (permalink)  
Antiguo 04/08/2005, 21:55
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
ya encontre la respuesta, esto era lo que buscaba

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Mándanos tus comentarios</title>
</head>

<body bgcolor="#cccc66" text="#003300" link="#006060" vlink="#006060">
<?
if (!$HTTP_POST_VARS){
?>
<form action="envia_form_php.php" method=post>
Nombre: <input type=text name="nombre" size=16>
<br>
Email: <input type=text name=email size=16>
<br>
Comentarios: <textarea name=coment cols=32 rows=6></textarea>
<br>
<input type=submit 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["coment"] . "\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>
  #3 (permalink)  
Antiguo 05/08/2005, 00:19
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
tambien podrias
//mando el correo...
if(mail("[email protected]","Formulario recibido",$cuerpo)){
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
else{
echo "Error al enviar el formulario. Por favor intetelo pasados unos minutos, Gracias.";
}

Un Saludo
  #4 (permalink)  
Antiguo 05/08/2005, 02:47
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Graciasss Dinasen por terminarlo.. si faltaba eso que es vital !!! :)
  #5 (permalink)  
Antiguo 05/08/2005, 02:56
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Aunque ke parece ke no funciono...

Saca este mensaje de error..

Parse error: parse error, unexpected T_ELSE in /home/content/*/*/*/*******/****/php/envia_form_php.php on line 34
  #6 (permalink)  
Antiguo 05/08/2005, 02:57
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 20 años, 1 mes
Puntos: 0
mandas el formulario a este php

envia_form_php.php

y ese cual es?
todo el codigo esta bajo ese script (envia_form_php.php) o lo mandas a otro distinto?
si lo mandas asi mismo, no es necesario poner el action no?
  #7 (permalink)  
Antiguo 05/08/2005, 03:51
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Iniciado por cyborg
si lo mandas asi mismo, no es necesario poner el action no?
... quien interpreta el HTML es el Navegador, es él quien podrá interpretar que, al no especificar el "action", se llame a sí misma... pero eso no lo puedes asegurar; quizá te funcione con Iexplorer pero técnicamente es incorrecto no colocarlo: http://validator.w3.org

Aprendix: Que bien que presentaste el mensaje de error.. ¿pero cuál es la línea implicada y cómo es que implementaste lo que te dijeron??.

Según el error.. no esperaba el "else", quizá se te olvidó cerrar una llave, quizá tienes un if() demás ó quizá esta mal embebido y "esta flotando" dicho else...

Un saludo!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 05/08/2005, 04:13
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 20 años, 1 mes
Puntos: 0
ah vale gracias, entiendo entonces que el script que el ha puesto ahi arriba se llama envia_form_php.php no?

saludos
  #9 (permalink)  
Antiguo 05/08/2005, 04:41
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
que linea es esa del error ponla aqui

Un Saludo
  #10 (permalink)  
Antiguo 05/08/2005, 10:52
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
Grax por participar..

Os cuento...

El script como lo puse en el segundo post, funciona perfectamente...

DINASE me dio la sugerencia de que le añadiera otra sentencia con un mensaje por si el formulario no se envia bien.. se la añadi tal cual como el me dijo..

... $cuerpo .= "Comentarios: " . $HTTP_POST_VARS["coment"] . "\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.";
}
else{
echo "Error al enviar el formulario. Por favor intetelo pasados unos minutos, Gracias.";

}
?>
</body>

Y me sale el errr que les estoy comentando...

Parse error: parse error, unexpected T_ELSE in /home/content/*/*/*/*******/****/php/envia_form_php.php on line 34
Editar/Borrar Mensaje


Los ** son los nombres de las carpetas que no los quise poner.. no se por seguridad??? jeje..

Ya ensaye todas las formas posibles, con las llevas, quitando poniendo, agregando moviendo, mezcle muchas posibilidades.. pero siempre me salio el mismo error.. la linea que siempre señala.. es la linea donde siempre pongoel else

No se que sera... entonces no pude añadirle la sentencia de mensaje, por si el formulario no se envia bien..

Grax por la colaboracion.
  #11 (permalink)  
Antiguo 05/08/2005, 20:11
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Lo dicho.. tienes ese else "volando", no lo asociates a un if()... ve el código de DINASEN:
Código PHP:
if(mail("[email protected]","Formulario recibido",$cuerpo)){ // if 
www.php.net/if


(procura iluminar código.. lee mi firma si no sabes cómo)
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #12 (permalink)  
Antiguo 06/08/2005, 15:24
 
Fecha de Ingreso: julio-2005
Ubicación: Boyoliso
Mensajes: 661
Antigüedad: 18 años, 8 meses
Puntos: 0
claaarrroo!!

Hombre jamm.. claro.. vos viste lo ke yo no vi... me pase por alto una parte del codigo ke me paso DINASEN...

Gracias loco por aclararlo!!

El error era mio entonces.. jeej. no del codigo.!!

Saludos y gracias!!
  #13 (permalink)  
Antiguo 15/08/2005, 07:58
Avatar de Isaac Mañe  
Fecha de Ingreso: enero-2002
Ubicación: Caracas
Mensajes: 396
Antigüedad: 22 años, 2 meses
Puntos: 0
Pregunta Enviar correo a dos buzones al mismo tiempo...

Cita:
Iniciado por DINASEN
tambien podrias
//mando el correo...
if(mail("[email protected]","Formulario recibido",$cuerpo)){
Como hacer si deseo enviar el formulario a dos correos diferentes al mismo tiempo?

De antemano gracias!
  #14 (permalink)  
Antiguo 15/08/2005, 08:33
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
podrias hacer un for con un explode de los email te explico

Si el usuario sera el que dija a que correos debe enviarse y le das la posibilidad de poner mas de uno indicale que en el campo email separe los email con ; pro ejemplo y te quedaria algo asi en el input llamado correos por ejemplo
[email protected];[email protected]@server.com

$lista=explode(";",$correos);
foreach ($lista as $email){//mas de uno separado por ; recogidos de la variable $correos
mail($email, $subject, $message, $headers);
}
este ejemplo viene bien por ejemplo para un recomiendanos a tus amigos, o para recomienda este producto a tus amigos, etc
esta seria por ejemplo una forma pero ahi miles...

si tu eres el que pones los email y no el user
podrias hacerlo de dos formas o dos mail distinto
o de la misma forma que antes algo asi:
$correos="[email protected];segundoemail@seve r.com;[email protected]";
$lista=explode(";",$correos);
foreach ($lista as $email){//mas de uno separado por ; recogidos de la variable $correos
mail($email, $subject, $message, $headers);
}

si quieres verificar cuales si fueron enviados y cuales no te lo dejo a ti ya que solo deberias almacenar variables y mostarlas

Un Saludo
  #15 (permalink)  
Antiguo 15/08/2005, 08:46
Avatar de Isaac Mañe  
Fecha de Ingreso: enero-2002
Ubicación: Caracas
Mensajes: 396
Antigüedad: 22 años, 2 meses
Puntos: 0
Mi caso es el que ya se hacia donde va el formulario. Entonces debo utilizar esta opción: $correos="[email protected];segundoemail@seve r.com;terc [email protected]";

en todo caso lo único que debo hacer es colocar un punto y coma y anexar el siguiente mail no?
  #16 (permalink)  
Antiguo 15/08/2005, 08:53
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
si y despues realizar el explode y el for con el mail dentro

Un Saludo
  #17 (permalink)  
Antiguo 15/08/2005, 20:35
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
No es necesario hacer el ciclo, simplemente separa con una coma los diferentes destinatarios:
Código PHP:
mail("[email protected][email protected]""...etc"); 
www.php.net/function.mail

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #18 (permalink)  
Antiguo 16/08/2005, 13:19
Avatar de Isaac Mañe  
Fecha de Ingreso: enero-2002
Ubicación: Caracas
Mensajes: 396
Antigüedad: 22 años, 2 meses
Puntos: 0
Ah o.k gracias por la aclaratoria! Muy interesante!
  #19 (permalink)  
Antiguo 17/08/2005, 00:21
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
pero al hacerlo como dice jam se vera a quien mas lo mandaste y ahi veces que eso no interesa

o me equivoco?

Un Saludo
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 18:23.