PHP - Formulario consulta online

   
Vista:

Formulario consulta online

Publicado por Luis flia_romano@hotmail.com (6 intervenciones) el 21/09/2015 17:30:22
Hola, buen día, consulto si teniendo un sitio en HTML funcionan las consultas contra PHP.
El caso es que mi proveedor de hosting cambió la estructura y no me ha sabido resolver bien el inconveniente.
Antes funcionaban perfecto con CGI y el formulario hecho en HTML, ahora no funciona más, me manda a PHP.
No se si el sitio o la página tiene que se en php, si el código del formulario debe ser en php, teniendo la pagina en html, o subir donde se aloja el sitio los archivos php que me envió. No supe interpretar o no supieron asesorarme bien. No programo en PHP pero sí puedo entender o reemplazar partes del código. Gracias, saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Formulario consulta online

Publicado por xve (5516 intervenciones) el 21/09/2015 21:31:11
Hola Luis, no se muy bien que te dijeron, ni que códigos te enviaron...
Si tienes que trabajar con PHP, tendrás que tener tus paginas con extensión .php, o por lo menos las que tengan el código php al que haces referencia...

Exactamente que quieres que haga el código PHP? enviarlo por correo? guardarlo en una base de datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Formulario consulta online

Publicado por Luis (6 intervenciones) el 21/09/2015 23:22:20
Hola xve, gracias por responder. No quise llenar de código el foro. Había preguntado con el proveedor de hostingo, por qué no funcionaba FormMail, inconvenientes para enviar consultas online: " http://misitio.com.ar/cgi-bin/FormMail.cgi " --> Internal Server Error, The server encountered an internal error or misconfiguration and was unable to complete your request.

Y me responden que "no es posible ya utilizar el script Formmail.cgi, deberas programar los formularios en codigo PHP. Te adjunto un ejemplo"

Me envían dos archivos php de ejemplo (uno con error de sintaxis, sobraba un />), form y php. Después otra persona de soporte me envió un link instructivo y había diferencias, entonces todo lo que probé no funcionó.

Los sitios están en html, sencillos y lo que deseo es simplemente un formulario de consulta por web genérico: Nombre, Teléfono, Mail, Consulta (dejan comentarios), botón enviar y listo, recepcionar en un mail.

Han cambiado la estructura interna al parecer y ahora no funciona más con FormMail.cgi y no se cómo hacer exáctamente con lo nuevo. Si bien no programo en php, reemplacé los valores que debía y no funcionó. Gracias, saludos!

Me envía el proveedor: enviar.php y form.php y un instructivo diferente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Formulario consulta online

Publicado por xve (5516 intervenciones) el 22/09/2015 11:00:29
Hola Luis, aquí te han enviado los códigos de ejemplo... los cuales entiendo que tendrían que funcionar...

De todas maneras, en esta misma web, hay códigos de ejemplo que te pueden servir...
http://www.lawebdelprogramador.com/codigo/PHP/3029-Formulario-de-contacto-con-adjuntos.html
http://www.lawebdelprogramador.com/codigo/PHP/3020-HTML-PHP-de-Formulario-de-Contacto-simple.html
http://www.lawebdelprogramador.com/codigo/PHP/562-Mandar-un-formulario-a-direccion-de-correo.html
http://www.lawebdelprogramador.com/codigo/PHP/240-Envio-de-formulario-por-correo.html

Espero que te puedan ayudar... son bastante sencillos de entender...

Si tienes algun problema con alguno en concreto, coméntamelo, y intento ayudarte, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Formulario consulta online

Publicado por Luis (6 intervenciones) el 23/09/2015 02:15:07
Hola xve, gracias por responder. Si, me han enviado dos archivos con código y un instructivo con código, diferentes entre sí. Los probé y aún no funcionó. Quiero poner en claro si la forma correcta de utilizar estas sugerencias son: página en html, código de formulario en html dentro de la página (también podría ser php también si entendí bien) y un archivo por separado php con el mismo nombre de referencia en la codificación del formulario, alojados éste y la página en la misma ubicación en el servidor. Correcto?
Voy a probar con los ejemplos de los links y buscar. GRACIAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario consulta online

Publicado por Luis flia_romano@hotmail.com (6 intervenciones) el 23/09/2015 03:48:54
Hola xve, hoy realicé 3 pruebas, tres formularios diferentes con tres enviar.php diferentes y no funcionó, por hoy suficiente (y eso que no es nada complejo) Dejo los ejemplos, están en línea. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario consulta online

Publicado por Luis (6 intervenciones) el 23/09/2015 04:43:42
Ya está! ya pude hacerlo funcionar! Listo! GRACIAS. (Y)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Formulario consulta online

Publicado por xve (5516 intervenciones) el 23/09/2015 10:21:08
Hola Luis, nos puedes compartir los archivos que al final te han funcionado??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Formulario consulta online

Publicado por Luis (6 intervenciones) el 23/09/2015 19:04:32
Hola, buen día, claro que sí. Después de tanto probar, funcionó.

Aclaraciones: cuento con un servidor/proveedor de hosting, el cual posee interpretación de PHP + una página en HTML y el código del formulario también en HTML + archivo PHP con su código. Ambos deben estar en la misma carpeta "subidos".

En el formulario, en la parte de "<form action="enviar.php" method="POST">" enviar.php es ese otro archivo, van juntos y debe ser el mismo nombre (la referencia de action hacia un archivo y ese archivo), "form action:"mismonombre.php" + un el archivo "mismonombre.php" con la otra parte del código (programa que se ejecutará)

MIMAILDEDESTINO: colocar el mail de recepción (es sólo para mostrar dónde se reciben los mails) (en Formulario)

MIMAILDERECEPCION:
coloar el mail donde llegarán los datos, sin esto no funcionará, no llegarán nunca los datos. (en archivo php)

MISITIO: en esta última parte del código, es una forma prolija que muestra que el mensaje fue enviado y da la posibilidad de volver (link) al sitio donde estábamos (nuestro sitio, se supone) o alguna otra web. (en archivo php)

Formulario: Copio primero parte del código, correspondiente al formulario (sin el inicio ni el fin de la página completa):

<title>Formulario de Consulta</title>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<form action="enviar.php" method="POST">
<input type="hidden" name="Destinatario" value="MIMAILDEDESTINO">
<input type="hidden" name="Asunto" value="Consulta Online">
<table border="0" cellspacing="2" cellpadding="1">
 <tbody><tr>
  <td>Nombre:<br><input type="text" name="Nombre" size="25" maxlength="100"></td>
 </tr>
 
 <tr>
  <td>Teléfono:<br><input type="text" name="Teléfono" size="25" maxlength="100"></td>
 </tr>
 
 <tr>
  <td>E-Mail:<br><input type="text" name="E-Mail" size="25" maxlength="100"></td>
 </tr>
 
 <tr>
  <td>Consulta:<br><textarea name="consulta" cols="50" rows="5"></textarea></td>
 </tr>
 
 <tr>
  <td><input type="submit" value="Enviar">
      <input type="reset" value="Borrar"></td>
 </tr>
 
</tbody></table>
</form></div>

Archivo PHP: copio el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
function form_mail($sPara, $sasunto, $sTexto, $sDe)
{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";
 
if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;
 
foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";
 
$sCabeceraTexto = "----_Separador-de-mensajes_--\n";
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";
 
$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";
 
$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}
 
if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}
 
//cambiar aqui el email
if (form_mail("MIMAILDERECEOCION", $_POST[asunto],
"Los datos introducidos en el formulario son:\n\n", $_POST[email]))
{
@mail($to,$tema,$mensaje,$headers);
     echo "Su mensaje ha sido enviado satisfactoriamente. Gracias por contactarse.<br /><a href='http://www.MISITIO.com.ar'>VOLVER</a>";
} else {
    echo "No se puede enviar el formulario, verifica los campos";
}
?>



SALUDOS ! GRACIAS !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

Formulario consulta online

Publicado por xve (5516 intervenciones) el 23/09/2015 21:18:02
Gracias por compartirlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar