Foros del Web » Programando para Internet » PHP »

Reformar un formulario de contacto

Estas en el tema de Reformar un formulario de contacto en el foro de PHP en Foros del Web. Hola, Tengo un formulario php de contacto que ya uso hace años. Me gustaría encontrar la forma de agregarle una confirmación de dirección email. O ...
  #1 (permalink)  
Antiguo 01/02/2015, 10:03
 
Fecha de Ingreso: abril-2013
Ubicación: Costa Altántica
Mensajes: 5
Antigüedad: 11 años
Puntos: 0
Reformar un formulario de contacto

Hola,

Tengo un formulario php de contacto que ya uso hace años. Me gustaría encontrar la forma de agregarle una confirmación de dirección email. O sea que haya que escribir la dirección dos veces y que se comparen si son iguales.

Esta es la parte de los if...

if(isset($_GET['betreff']) && (int)$_GET['betreff']>0 && (int)$_GET['betreff']<count($pbetreff))
$pflichtbetreff = true;

if(isset($_POST['submit'])) {
if(empty($_POST['name'])) {
$Nachricht .= $newpoint."Escriba su <b>Nombre</b> completo.<br>\n";
} elseif(strlen($_POST['name']) < 2) {
$Nachricht .= $newpoint."Seguro su <b>Nombre</b> tiene más que una letra <br>\n";
} if(empty($_POST['local'])) {
$Nachricht .= $newpoint."Escriba su <b>Localidad</b>.<br>\n";
} if(empty($_POST['pais'])) {
$Nachricht .= $newpoint."Escriba su <b>País</b>.<br>\n";
} if(empty($_POST['email'])) {
$Nachricht .= $newpoint."Escriba su dirección de <b>correo electrónico</b>.<br>";
} elseif(!empty($_POST['email']) && !empty($_POST['email']) && !eregi("^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@([_a-zA-Z0-9-]+.)*[a-zA-Z0-9-]{2,200}.[a-zA-Z]{2,6}$",$_POST['email'])) {
$Nachricht .= $newpoint."Su dirección de <b>correo electrónico</b> tiene una falta de sintáxis.<br>\n";

}
if(empty($_POST['betreff'])) {
$Nachricht .= $newpoint."Elija un <b>Asunto</b>.<br>\n";
}
if(empty($_POST['text'])) {
$Nachricht .= $newpoint."Escriba el <b>mensaje</b>.<br>\n";
}

ESTO SERÍA LA PARTE DE HTML DONDE ESTÁN LOS CASILLEROS PARA RELLENAR

<tr>
<td align="right" valign="middle" nowrap class="style6"><nobr>E-Mail</nobr>*</td>
<td align="left">
<label>
<input name="email" type="text" id="email" value="<?php print htmlentities($_POST['email']);?>" size="40" />
</label></td>
</tr>

NO SE SI CON ESTOS DATOS SE PUEDE ENTENDER ALGO PARA PODER AYUDARME A AGREGAR UN CASILLERO DE REPETIR EMAIL Y QUE SE COMPARE CON EL OTRO Y QUE SI NO SON IGUALES LO NOTIFIQUE.


Cualquier ayuda será bienvenida y disculpen si no se entiende lo que necesito.
Cualquier dato que haga falta pidanlo

GRACIAS :)
  #2 (permalink)  
Antiguo 01/02/2015, 10:31
 
Fecha de Ingreso: noviembre-2012
Mensajes: 21
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Reformar un formulario de contacto

Buenas tardes, puedes intentar lo siguiente


Codigo HTML

Código HTML:
<label>E-mail:</label><br />
		    <input type="text" name="usuario_email" maxlength="15" /><br />
		    <label>Confirmar Confirmar Email:</label><br />
		    <input type="text" name="usuario_email_conf" maxlength="15" /><br /> 
Codigo PHP
Código PHP:
elseif($_POST['usuario_email'] != $_POST['usuario_email_conf']) {
                echo 
"Los email ingresados no coinciden. <a href='javascript:history.back();'>Reintentar</a>"
  #3 (permalink)  
Antiguo 01/02/2015, 10:37
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 1 mes
Puntos: 16
Respuesta: Reformar un formulario de contacto

Hola,

Bueno en primer lugar, si puedes cuando vayas a colocar códigos en el foro intenta usar el highlight del lenguaje (en este caso php), así se podrá leer el código de una forma más facil.

Con respecto a lo del código, creo que puedes mejorarlo un poco, sin embargo lo que pides creo que tan solo tendrías que agregar otro campo email. Lo haré con tu mismo código:
Código HTML:
Ver original
  1. <tr>
  2. <td align="right" valign="middle" nowrap class="style6"><nobr>E-Mail</nobr>*</td>
  3. <td align="left">
  4. <input name="email_2" type="text" id="emai_2" value="<?php print htmlentities($_POST['email']);?>" size="40" />
  5. </label></td>
  6. </tr>
Luego en el php seria algo como :
Código PHP:
Ver original
  1. if(filter_var($_POST['email'],FILTER_VALIDATE_EMAIL) and filter_var($_POST['email_2'],FILTER_VALIDATE_EMAIL)){
  2.  
  3.        if($_POST['email']==$_POST['email_2']){
  4.                       //todo bien, y haces tu lógica
  5.        }else{
  6.                  //correos no son iguales y mandas sms de error
  7.        }
  8. }

Otras cosas adicionales :
1. creo que la etiqueta <nobr> no es estandard.
2. la etiqueta label deberia encerrar es el texto que acompaña al campo, no al campo. <label>Email</label> y luego el input.


Espero que te sirva. saludos
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos

Etiquetas: contacto, formulario, html
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 16:22.