Foros del Web » Programando para Internet » PHP »

formato de @ en formulario

Estas en el tema de formato de @ en formulario en el foro de PHP en Foros del Web. Buenas. tengo un formulario php donde ciertos campos son obligatorios para poder enviarlo pero me gustaria saber y en el campo "email" se puede poner ...
  #1 (permalink)  
Antiguo 04/11/2004, 15:21
 
Fecha de Ingreso: julio-2002
Mensajes: 69
Antigüedad: 15 años, 4 meses
Puntos: 0
formato de @ en formulario

Buenas. tengo un formulario php donde ciertos campos son obligatorios para poder enviarlo pero me gustaria saber y en el campo "email" se puede poner para que si alguien poner algo que no sea "[email protected]" le indique que ese campo debe llevar el formato email para que no puedan poner cualquier cosa como una simple frase sin usar la @. Me explico que si en el campo 'email' tenga que poner = [email protected] y no simplemente = holaquetal. Osea que obligue a poner la @.
Uff no si lo habeis entendido. De odas formas gracias de antemano.
Saludos.
__________________
Si rambo hizo todo loq ue hizo con un cuchillo imaginate lo que hubiera hecho con una cuberteria.
  #2 (permalink)  
Antiguo 04/11/2004, 17:33
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 13 años, 10 meses
Puntos: 0
Hola!
Tienes 3 opciones:
1. Verificar que exista la arroba desde JavaScript
2. Verificar que exista la arroba desde PHP
3. Verificar en ambos

1. Si quieres verificar que exista en el campo una arroba (@) lo que debes hacer es llamar a una funcion cuando realiza el submit del form. El codigo seria algo asi:
Código:
<html>
<script language="JavaScript">
<!--
function verificarMail() {

	if (document.forms[0].mail.value.indexOf("@") != -1) 
		return true;
	else
		return false;
}

-->
</script>
<body>
<form action="procesar.php" method="post" OnSubmit="return verificarMail();">
mail: <input type="text" name="mail">
<input type="submit" >
</form>

</body></html>
2. Para verificar en php lo que debes hacer es en la pagina que recibe el form algo asi

Código:
if (strpos($mail, "@")===false) {
   // procesar el formulario
}
else {
  // imprimir un mensaje indicando que la direccion de mail no es valida
  echo "La direccion de mail ingresada no es valida";

}
Tambien podrias redireccionarlo a la pagina anterior, siempre y cuando no imprimas nada por pantalla.

3. Este metodo es combinar los dos, generalmente no se hace mucho. Pero sirve si el navegador no tiene javascript habilitado, y en caso de tenerlo para no llegar a la instancia de tener que enviar el formulario

Bueno, espero que te haya servido de algo lo que te dije

Saludos
__________________
Orlando F. Brea
SmartSol - Soluciones Inteligentes


Diseño y Desarrollo de Soluciones Web
  #3 (permalink)  
Antiguo 05/11/2004, 06:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
3. Este metodo es combinar los dos, generalmente no se hace mucho. Pero sirve si el navegador no tiene javascript habilitado, y en caso de tenerlo para no llegar a la instancia de tener que enviar el formulario
mm .. Siempreeee se ha de validar todo en el lenguaje del lado del servidor que es en última instancia quien decide que es lo que va a ser procesado o no (no hablo sólo de PHP sino de cualquier lenguaje en general del "lado del servidor" .. ) Nunca sabes si se van a saltar tus rutinas javascript y otros o entrar por otro lado a tus scripts PHP en este caso.

Las validaciones en "javascript" es sólo tema de "usabilidad" .. Pero recuerda que lo que validas en "PHP" es más bien para "seguridad" y esa es la que manda en última instancia.

Por mi parte yo suelo validar así como lo propogono. En javacript por "usabilidad", por ahorro de ancho de banda (una página que va y viene entre cliente-servidor) y en PHP por seguridad.

------

En las FAQ's de este foro PHP hay otra función para validar en PHP una sintax de un e-mail que usa expresiones regulares para tal fin y es algo más elavorada que no sólo ver si hay un "@" en esa cadena (string).

Las expresiones regulares también las puedes usar en javascript para hacer cumplir el standar de sintax de una dirección de e-mail válida.

Un saludo,
  #4 (permalink)  
Antiguo 05/11/2004, 12:37
 
Fecha de Ingreso: julio-2002
Mensajes: 69
Antigüedad: 15 años, 4 meses
Puntos: 0
Muchas gracias a orlandob y Cluster vuestra ayuda me ha servido de mucho. al final me he decidido a poner lo siguiente que encontré en las FAQS pero añadiendole el alert este script y me va perfectamente:

Código PHP:
if (!ereg("^([a-zA-Z0-9\._]+)\@([a-zA-Z0-9\.-]+)\.([a-zA-Z]{2,4})$",$email)){
    die(
"<script>alert('La direccion de mail ingresada no es valida');history.go(-1);</script>"); 

Muchas Gracias
__________________
Si rambo hizo todo loq ue hizo con un cuchillo imaginate lo que hubiera hecho con una cuberteria.
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:39.