PHP. Controlar datos introducidos en un campo de texto (ayuda).

Iniciado por El_Marine, 23 Octubre 2007, 13:50 PM

0 Miembros y 3 Visitantes están viendo este tema.

El_Marine

Hola a todos, estoy haciendo un formulario en php, con un campo de telefono, entonces quiero controlar que en ese campo no se introduzcan caracteres,lo he hecho pero como yo lo he hecho no funciona, aqui lo pego:


for($i=0;$i<=strlen($Telf);$i++)
   if($Telf[$i]<'0' || $Telf[$i]>'9') {
   echo '<script>';
   echo 'alert("El Campo de Telefono no puede contener caracteres")';
   echo '</script>';
   }


Alguien me ayuda?

Muchisimas gracias.
Saludos.

alone-in-the-chat

Ese tipo de validaciones se realizan con javascript que se ejcuta de lado del cliente (al menos en tu codigo la intencion es esa por lo que veo )
alli estas usando php para hacer la validacion y eso no kreo que funcione

Busca funciones en internet que validen campos de texto usando javascript encontraras bastants

Saludos
Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

дٳŦ٭

Cita de: alone-in-the-chat en 23 Octubre 2007, 17:05 PM
Ese tipo de validaciones se realizan con javascript que se ejcuta de lado del cliente (al menos en tu codigo la intencion es esa por lo que veo )
alli estas usando php para hacer la validacion y eso no kreo que funcione

Busca funciones en internet que validen campos de texto usando javascript encontraras bastants

Saludos


Ajam!

Si yo desactivo js del navegador?  :D

Definitivamente es mejor por PHP.


Con sangre andaluza :)


El_Marine

Hola de nuevo y gracias por su respuesta.

Pero ahora si lo cambio asi, quedaria totalmente con php:


for($i=0;$i<=strlen($Telf);$i++)
   if($Telf[$i]<'0' || $Telf[$i]>'9') {
   echo alert 'El Campo de Telefono no puede contener caracteres';
   }



La comprobacion y el bucle estarian bien hechos??

Saludos.
Muchas gracias.
Espero respuestas.

monosulpa

#4
what the fuck ???

para que usas eso ???

No seria mejor que usaras expresiones regulares por ejemplo

<?php
$numero 
$_REQUEST['telefono'];

if (!
ereg("^[0-9]{3,20}$"$numero)) { 
echo 
"Telefono invalido";
}
else {
echo 
"Todo Bien";
}
?>


es mas eficiente usar expresiones regulares

El_Marine

Hola monosulpa, muchas gracias por tu respuesta.

Se que hace la funcion ereg, pero me podrias explicarme un poquito ese if?:


if (!ereg("^[0-9]{3,20}$", $numero)) {



Que es lo que hace este caracter '^'??.

Entiendo que esa linea dice, que puede contener numeros del 0 al 9 repetidos 3 o 20 veces.

Pero ese caracter exactamente que hace?

Muchas gracias.
Saludos.

monosulpa

sencillo el caracter ^ lo que dice es que el texto empieze con un numero del 0 al 9 como ya tu lo has dicho que este repetido 3 o 20 veces