Hosting

¿Cómo creo un formulario en PHP (Planes Linux)?

A la hora de sumar un formulario de contacto a tu sitio web, es fundamental que el mismo evite vulnerabilidades que permitan a un tercero con malas intenciones tomar control de tus archivos para generar envíos de SPAM o alojar contenido malicioso. Te ofrecemos un ejemplo de cómo debería ser tu formulario.

Si vas a crear un formulario en PHP, deberás subir dos archivos al servidor para ponerlo online: uno que contenga el formulario tal cual deseas que se muestre en tu web y otro que genere la acción de llevar la información cargada en el formulario por tus visitantes a tu casilla de correo.

Formulario de contacto

Generaremos un archivo html. En nuestro ejemplo, se llamará contacto.html.

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CONTACTO</title>
</head>

<body>

<td height="15">
<div align="center">
<div align="center">

<FORM action="enviar.php" method="post" enctype="multipart/form-data" name="contacto" target="_top">

<table width="653" height="370" border="0" cellpadding="0" cellspacing="0">

<tr>

<td width="72" class="style7"><span class="style7">Nombre</span> </td>


<td width="247" height="18" class="style7"><input name="Nombre" type="text" id="Nombre"></td>


<td colspan="2" rowspan="2" class="style7">&nbsp;</td>

                          </tr>


<tr>

<td class="style7">&nbsp;</td>


<td class="style7">&nbsp;</td>

                          </tr>

                          
                          

<tr>

<td class="style7">E-mail</td>


<td class="style7"><input name="Email" type="text" id="Email"></td>


<td colspan="2" valign="bottom" class="style7">
<div align="left" class="style24"></div>
</td>

                          </tr>


<tr>

<td class="style7">&nbsp;</td>


<td class="style7">&nbsp;</td>


<td colspan="2" valign="middle" class="style7">
<table width="387" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="24">&nbsp;</td>


<td width="100" class="style9">&nbsp;</td>


<td width="24" class="style9">&nbsp;</td>


<td width="102" class="style9">&nbsp;</td>


<td width="24" class="style9">&nbsp;</td>


<td width="113" class="style9">&nbsp;</td>

                              </tr>

                            </table>
</td>

                          </tr>


<tr>

<td class="style7">Tel&eacute;fono</td>


<td class="style7"><input name="Tel&eacute;fono" type="text" id="Tel&eacute;fono"></td>


<td colspan="2" valign="bottom" class="style7">&nbsp;</td>

                          </tr>


<tr>

<td class="style7">&nbsp;</td>


<td class="style7">&nbsp;</td>


<td colspan="2" valign="bottom" class="style7">
<table width="387" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="24">&nbsp;</td>


<td width="100" class="style9">&nbsp;</td>


<td width="24" class="style9">&nbsp;</td>


<td width="102" class="style9">&nbsp;</td>


<td width="24" class="style9">&nbsp;</td>


<td width="113" class="style9">&nbsp;</td>

                              </tr>

                            </table>
</td>

                          </tr>


<tr>

<td class="style7">Direcci&oacute;n</td>


<td class="style7"><input name="Direcci&oacute;n" type="text" id="Direcci&oacute;n"></td>


<td colspan="2" valign="bottom" class="style7">&nbsp;</td>

                          </tr>


<tr>

<td class="style7">&nbsp;</td>


<td class="style7">&nbsp;</td>


<td colspan="2" class="style7">
<table width="387" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="24">&nbsp;</td>


<td width="100" class="style9">&nbsp;</td>


<td width="24" class="style9">&nbsp;</td>


<td width="102" class="style9">&nbsp;</td>


<td width="24" class="style9">&nbsp;</td>


<td width="113" class="style9">&nbsp;</td>

                              </tr>


                            </table>
</td>

                          </tr>


<tr>

<td class="style7">Localidad</td>


<td class="style7"><input name="Localidad" type="text" id="Localidad"></td>


<td colspan="2" class="style7">&nbsp;</td>

                          </tr>


<tr>

<td class="style7">&nbsp;</td>


<td class="style7">&nbsp;</td>


<td width="181" rowspan="3" class="style7">
<div align="center"></div>


<div align="center"></div>
</td>


<td width="186" rowspan="3" class="style7">&nbsp;</td>

                          </tr>


<tr>

<td class="style7">Provincia</td>


<td class="style7"><input name="Provincia" type="text" id="Provincia"></td>

                          </tr>


<tr>

<td class="style7">&nbsp;</td>


<td class="style7">&nbsp;</td>

                          </tr>


<tr>

<td class="style7">
<div align="center">Comentarios</div>
<div align="center"></div>
</td>


<td class="style7"><textarea name="Comentarios" cols="35" rows="4" id="Comentarios"></textarea></td>


<td width="181" class="style7">&nbsp;</td>


<td valign="bottom" class="style7">&nbsp;</td>

                          </tr>

                          

<tr>

<td height="54">&nbsp;</td>


<td><span class="style7">
                              <input name="Enviar" type="submit" class="style24" id="Enviar" onClick="return Enviar(this.form)" value="Enviar Presupuesto">
                            </span></td>


<td colspan="2">
<div align="center"></div>
</td>

                          </tr>

                        </table>


<table width="468" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="249">&nbsp;</td>


<td width="219">
<div align="center"></div>
</td>

                          </tr>

                        </table>

                        <label>
                        </label>
                </form>

                    </div>
</td>

          </tr>


<tr>

<td height="15">&nbsp;</td>

        </tr>


<tr>

<td height="30">&nbsp;</td>

        </tr>

              </table>

      </td>

        </tr>


<tr>

<td height="65">&nbsp;</td>

        </tr>

      </table>

  </td>

    </tr>

  </table>

</div>

</body>
</html>

En el navegador se verá así:

Envío de datos

El segundo archivo será un archivo PHP. En nuestro ejemplo, se llamará enviar.php.

<?php
$MailToAddress = "CUENTA_DE_CORREO";
$MailSubject = "ASUNTO";
 if (! isset($MailFromAddress) ) {
 $MailFromAddress = "CUENTA_DE_CORREO";
 }
 
$Header = "CONTACTO";
$Message = $Footer = "";
 
 if (!is_array($_POST))
 return;
 reset($_POST);
 while(list($key, $val) = each($_POST)) {
 $GLOBALS[$key] = $val;
 $val=stripslashes($val);
 $Message .= "$key = $val\n";
 }
 
 if ($Header) {
 $Message = $Header."\n\n".$Message."\n\n";
 }
 $REMOTE_USER = (isset($_SERVER["REMOTE_USER"]))?$_SERVER["REMOTE_USER"]:"";
 $REMOTE_ADDR = (isset($_SERVER["REMOTE_ADDR"]))?$_SERVER["REMOTE_ADDR"]:"";
 $Message .= "REMOTE USER: ". $REMOTE_USER."\n";
 $Message .= "REMOTE ADDR: ". $REMOTE_ADDR."\n";
 
 if ($Footer) {
 $Message .= "\n\n".$Footer;
 }
 
mail( "$MailToAddress", "$MailSubject", "$Message", "From: $MailFromAddress");
header ("Location: http://DOMINIO/CONFIRMACION_DE_RECEPCION");

?>

¡Vamos a editarlo!

Deberás editarlo para agregarle los datos correspondientes a tu sitio web y cuentas de correo:

$MailToAddress = "CUENTA_DE_CORREO";

Aquí, deberás modificar CUENTA_DE_CORREO por la dirección de mail a la que quieres recibir el contenido del formulario. Por ejemplo: consultas@misitio.com.

$MailSubject = "ASUNTO";

Reemplaza ASUNTO por el asunto con que llegarán todos los envíos de tu formulario. Por ejemplo, Nueva consulta.

$MailFromAddress = "CUENTA_DE_CORREO";

En esta línea reemplaza CUENTA_DE_CORREO por la dirección de mail que se utilizará como emisora de los correos generados por el formulario. Debe ser una cuenta creada desde tu panel Ferozo. Por ejemplo, feedback@misitio.com.

header ("Location: http://DOMINIO/CONFIRMACION_DE_RECEPCION");

Por último, reemplaza http://DOMINIO/CONFIRMACION_DE_RECEPCION por la URL de la página donde agradeces a tus visitantes por completar el formulario. Por ejemplo: http://misitio.com/formulario_enviado.php.

Atención al Cliente

24x7x365

A TU LADO TODO EL TIEMPO

  • Sin límite de consultas y acceso al historial.
  • Personal altamente capacitado.
  • Acceso a tutoriales, FAQs y seminarios sin cargo.
  • Soporte en español, inglés y portugués.
Administrar mi Cuenta

Conoce las distintas opciones y herramientas que te ofrece tu Área de Cliente.

CLICK AQUÍ
Mesa de Ayuda

Cómo usar el servicio de soporte y resolver las consultas más comunes.

CLICK AQUÍ
Pagos y vencimientos

Información para conocer tu estado de cuenta, futuros vencimientos y renovaciones.

CLICK AQUÍ