Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Enviar encuesta por email (https://www.clubdelphi.com/foros/showthread.php?t=54877)

Delphitest 02-04-2008 10:21:43

Enviar encuesta por email
 
Buenos días a tod@s,


estoy haciendo una encuesta en la que las respuestas son en parte texto y en parte opciones con radiobutton para una web.

El caso es que necesito que esas respuestas sean enviadas por email a mi direccion de correo.

He mirado antes de preguntar y es cierto que hay mucha información acerca de esto mismo que pregunto yo pero sigo sin saber como hacerlo.

Cambiando las propiedades del formulario con dreamweaver consigo que se mande el correo pero lo hace a traves del outlook y eso no es muy práctico.

Se que hay otra forma de acerlo pero no acabo de entender bien el tema del servidor php. No se como ni donde debo indicar la configuración que lleva.

Os pongo el código del formulario para ver si alguien puede echarme una mano.

Muy agradecido de antemano como siempre, un saludo

Código PHP:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
title>Documento sin t&iacute;tulo</title>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<
style type="text/css">
<!--
.
Estilo1 {
 
font-familyArialHelveticasans-serif;
 
font-weightbold;
}
-->
</
style>
</
head>
<
body>
<
form name="form1" method="post" action="">
  <
p align="center">&nbsp;</p>
  <
p><strong>Cumplimiento de principios b&aacute;sicos: </strong></p>
  <
table width="100%" cellpadding="0" cellspacing="0">
    <
tr>
      <
td width="89%" valign="top"><p><strong>1.1 Complementariedad </strong></p></td>
      <
td width="2%" valign="top"><p align="center"><strong></strong></p></td>
      <
td width="2%" valign="top"><p align="center"><strong></strong></p></td>
      <
td width="2%" valign="top"><p align="center"><strong></strong></p></td>
      <
td width="2%" valign="top"><p align="center"><strong></strong></p></td>
    </
tr>
    <
tr>
      <
td width="89%" valign="top"><p>&#149;&nbsp; El proyecto es complementario con otros servicios que operan en el mismo entorno </p></td>
      
<td width="2%" valign="top"><p>
        <
input name="radiobutton" type="radio" value="radiobutton"
        </
p></td>
      <
td width="2%" valign="top"><p>
        <
input name="radiobutton" type="radio" value="radiobutton"
        </
p></td>
      <
td width="2%" valign="top"><p>
        <
input name="radiobutton" type="radio" value="radiobutton"
        </
p></td>
      <
td width="2%" valign="top"><p>
        <
input name="radiobutton" type="radio" value="radiobutton"
        </
p></td>
    </
tr>
  </
table>
  <
p><strong>Razone su respuesta: </strong>
    <
input name="Obser1" type="text" id="Obser1" size="173">
  </
p>
  <
p>&nbsp;  </p>
  <
table width="100%" cellpadding="0" cellspacing="0">
    <
tr>
      <
td width="89%" valign="top"><p><strong>1.2 Colaboraci&oacute;n Institucional (Partenariado) </strong></p>
      </
td>
      <
td width="2%" valign="top"><p align="center"><strong></strong></p></td>
      <
td width="2%" valign="top"><p align="center"><strong></strong></p></td>
      <
td width="2%" valign="top"><p align="center"><strong></strong></p></td>
      <
td width="2%" valign="top"><p align="center"><strong></strong></p></td>
    </
tr>
    <
tr>
      <
td width="89%" valign="top"><p>&#149;&nbsp; Existe colaboraci&oacute;n entre su entidad y los otros actores de la AD </p></td>
      
<td width="2%" valign="top"><p>
        <
input name="radiobutton1" type="radio" value="radiobutton"
        </
p></td>
      <
td width="2%" valign="top"><p>
        <
input name="radiobutton1" type="radio" value="radiobutton"
        </
p></td>
      <
td width="2%" valign="top"><p>
        <
input name="radiobutton1" type="radio" value="radiobutton"
        </
p></td>
      <
td width="2%" valign="top"><p>
        <
input name="radiobutton1" type="radio" value="radiobutton"
        </
p></td>
    </
tr>
  </
table>
  <
p><strong>Razone su respuesta: </strong>      <input name="Obser2" type="text" id="Obser2" size="173">
  </
p>
  <
p>&nbsp;</p>
  <
p align="center"
    <
input type="submit" name="Submit" value="Enviar"
     <
input type="reset" name="Submit2" value="Restablecer">
  </
p>
  <
p>&nbsp;  </p>
</
form>
</
body>
</
html


Emilio 02-04-2008 15:11:01

Cita:

Empezado por Delphitest (Mensaje 276954)
Cambiando las propiedades del formulario con dreamweaver consigo que se mande el correo pero lo hace a traves del outlook y eso no es muy práctico.

Con el código del formulario que nos envías yo diría que es imposible que pueda enviar correo electrónico, o algo se me está escapando.

Ese formulario se postea a si mismo como podemos ver en la siguiente línea...

Código PHP:

 <form name="form1" method="post" action=""

Por tanto, lo único que entiendo que hace es volver a recargar el formulario pero sin realizar ninguna acción.

Estaría bien que explicases que más haces para lograr que envíe el correo, que me tiene asombrado el asunto :confused:

Cita:

Empezado por Delphitest (Mensaje 276954)
Se que hay otra forma de acerlo pero no acabo de entender bien el tema del servidor php. No se como ni donde debo indicar la configuración que lleva.

Bueno hay mucha literatura en Internet sobre envío de email con PHP, una miradita a la función mail() seguro que te abre los ojos. También sería bueno que indicases que SO estás usando.

He añadido unas líneas en la cabecera de tu código.

Código PHP:

<? if ( $_POST['Submit']=="Enviar"; ) {

    
// Aquí haces uso de la función mail()
    
echo "Gracias por participar en la encuesta";
    exit;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.Estilo1 {
 font-family: Arial, Helvetica, sans-serif;
 font-weight: bold;
}
-->
</style>
</head>
<body>
<form name="form1" method="post" action="">
  <p align="center">&nbsp;</p>
  <p><strong>1 - Cumplimiento de principios b&aacute;sicos: </strong></p>
  <table width="100%" cellpadding="0" cellspacing="0">
    <tr>
      <td width="89%" valign="top"><p><strong>1.1 - Complementariedad </strong></p></td>
      <td width="2%" valign="top"><p align="center"><strong>0 </strong></p></td>
      <td width="2%" valign="top"><p align="center"><strong>1 </strong></p></td>
      <td width="2%" valign="top"><p align="center"><strong>2 </strong></p></td>
      <td width="2%" valign="top"><p align="center"><strong>3 </strong></p></td>
    </tr>
    <tr>
      <td width="89%" valign="top"><p>•&nbsp; El proyecto es complementario con otros servicios que operan en el mismo entorno </p></td>
      <td width="2%" valign="top"><p>
        <input name="radiobutton" type="radio" value="radiobutton"> 
        </p></td>
      <td width="2%" valign="top"><p>
        <input name="radiobutton" type="radio" value="radiobutton"> 
        </p></td>
      <td width="2%" valign="top"><p>
        <input name="radiobutton" type="radio" value="radiobutton"> 
        </p></td>
      <td width="2%" valign="top"><p>
        <input name="radiobutton" type="radio" value="radiobutton"> 
        </p></td>
    </tr>
  </table>
  <p><strong>Razone su respuesta: </strong>
    <input name="Obser1" type="text" id="Obser1" size="173">
  </p>
  <p>&nbsp;  </p>
  <table width="100%" cellpadding="0" cellspacing="0">
    <tr>
      <td width="89%" valign="top"><p><strong>1.2 - Colaboraci&oacute;n Institucional (Partenariado) </strong></p>
      </td>
      <td width="2%" valign="top"><p align="center"><strong>0 </strong></p></td>
      <td width="2%" valign="top"><p align="center"><strong>1 </strong></p></td>
      <td width="2%" valign="top"><p align="center"><strong>2 </strong></p></td>
      <td width="2%" valign="top"><p align="center"><strong>3 </strong></p></td>
    </tr>
    <tr>
      <td width="89%" valign="top"><p>•&nbsp; Existe colaboraci&oacute;n entre su entidad y los otros actores de la AD </p></td>
      <td width="2%" valign="top"><p>
        <input name="radiobutton1" type="radio" value="radiobutton"> 
        </p></td>
      <td width="2%" valign="top"><p>
        <input name="radiobutton1" type="radio" value="radiobutton"> 
        </p></td>
      <td width="2%" valign="top"><p>
        <input name="radiobutton1" type="radio" value="radiobutton"> 
        </p></td>
      <td width="2%" valign="top"><p>
        <input name="radiobutton1" type="radio" value="radiobutton"> 
        </p></td>
    </tr>
  </table>
  <p><strong>Razone su respuesta: </strong>      <input name="Obser2" type="text" id="Obser2" size="173">
  </p>
  <p>&nbsp;</p>
  <p align="center"> 
    <input type="submit" name="Submit" value="Enviar"> 
     <input type="reset" name="Submit2" value="Restablecer">
  </p>
  <p>&nbsp;  </p>
</form>
</body>
</html>

[/quote]

Delphitest 02-04-2008 16:11:25

Buenas tardes Emilio,

gracias por tu aportación.

Cita:

Con el código del formulario que nos envías yo diría que es imposible que pueda enviar correo electrónico, o algo se me está escapando.

Es cierto, si, tal y como está no hace nada. Basta con poner mailto: ... entre las comillas, pero tal y como os decía no me sirve ya que inicia el outlook y no es lo que busco.

Uso el Win XP, aunque no se si es relevante para esto.

He probado a añadir el código que amablemente me has facilitado pero se deja de mostrar la página.

Se que para algunos lo que pregunto es muy básico pero sigo sin dar con ello.

Entiendo que tengo que poner como accion el nombre de un archivo .php que se encargue de hacer ese envío pero no acabo de entender como se hace y como indicar el servidor smtp ya que sin el me temo que no conseguiré mandar nada.

Si alguien me puede echar una mano se agradece, de todo modos por mi parte sigo investigando y si doy con ello logicamente lo compartiría con vosotros por si sirve de ayuda a otras personas.

Un abrazo

Emilio 02-04-2008 21:45:11

Cita:

Empezado por Delphitest (Mensaje 277007)
Es cierto, si, tal y como está no hace nada. Basta con poner mailto: ... entre las comillas, pero tal y como os decía no me sirve ya que inicia el outlook y no es lo que busco.

Vaya, que saliesen con esa si que no la esperaba :rolleyes:

Cita:

Empezado por Delphitest (Mensaje 277007)
Uso el Win XP, aunque no se si es relevante para esto.

He probado a añadir el código que amablemente me has facilitado pero se deja de mostrar la página.

Bueno, por lo que dices entiendo que ni has instalado PHP en tu máquina.

Cita:

Empezado por Delphitest (Mensaje 277007)
Entiendo que tengo que poner como accion el nombre de un archivo .php que se encargue de hacer ese envío pero no acabo de entender como se hace y como indicar el servidor smtp ya que sin el me temo que no conseguiré mandar nada.

Creo entender que tienes un problema de conceptos, a ver si puedo despejarte algunos de ellos.

En ocasiones, sabemos que 'algo' funciona, ese algo, podemos verlo como una caja negra que hace algo, pero sin tener ni la más remota idea de lo que hace internamente, cabe decir que en muchos casos, ni falta que nos hace saberlo, todos sabemos que un coche nos lleva de un sitio para otro, pero pocos conocen en profundidad su funcionamiento interno.

En el caso que nos ocupa, intervienen distintas piezas, digamos cajas negras, que van a intervenir, para hacer uso de ellas, inicialmente sólo necesitamos saber que es capaz de hacer cada una de ellas, volviendo al coche, es necesario saber que es capaz de transportarnos.

Veamos las piezas que tendrán intervención de una u otra forma en el asunto y, cual es la misión de cada una de ellas, más adelante si nos interesa el tema ya nos ensuciaremos de grasa metiendo las manos en el motor.

El navegador: única y exclusivamente es capaz de interpretar código HTML y ejecutar código Javascript.

Servidor web: Su misión es atender la peticiones del navegador y devolverle código HTML, cabe decir que el más usado es Apache.

PHP: Es un completo lenguaje de programación que se 'integra' en el servidor web, es decir, cuando el servidor web recibe una petición del navegador ej: http://www.mi-web.com/fichero.php. PHP interpretará el código que hayamos insertado entre <? y ?> pudiendo así realizar infinidad de acciones, como conectar a una base de datos y ejecutar cualquier acción sobre ella, leer y o crear ficheros, realizar acciones sobre y propia máquina y un largo etcetera, también puedo interactual con otras 'cajas negras' como por ejemplo con SMTP (Simple Mail Transfer Protocol) a través de su función mail()

Una vez va realizando sus acciones, va generando, si procede, código HTML que entregará a Apache, para que éste a su vez se lo entregue al navegador que hizo la petición inicial.

SMTP: (Simple Mail Transfer Protocol) Se trata de un servidor de correo saliente, que se encargará de entablar comunicación con sus colegas POP3 (Servidor de correo entrante)

Y después de este rollete incial con la intención de aclarar conceptos, vamos a la práctica.

Ese Windows XP que dices que tienes, deberá tener instaladas esas cuatro piezas, para poder enviar por email el resultado de tu formulario.

Un camino corto y bastante rápido, es instalarlo de una tacada mediante uno de esos paquetes que lo hacen todo ellos solitos, para Windows uno de los que más me gusta es el XAMPP, luego vendrán los más puristas y te dirán que instalarlo por separado tiene sus ventajas, pero de momento hemos dicho que no queremos ensuciarnos las manos de grasa y seguro que nos da buen resultado para el objetivo inicial que nos ocupa.


La franja horaria es GMT +2. Ahora son las 17:34:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi