Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/08/2007, 09:50
Saganxis
 
Fecha de Ingreso: enero-2007
Ubicación: Buenos Aires, ARG
Mensajes: 71
Antigüedad: 18 años, 2 meses
Puntos: 2
Re: Urgente es necesario usar switch en un formulario

Bueno si no entendi mal lo q vos preguntas es si se puede usar un switch en esta parte:

Código PHP:
...
$longitud=strlen($_POST['nombre']);
if(
$longitud 3)
echo 
"<br><b> El nombre debe tener por lo menos 3 caracteres</b>";
$longitud=strlen($_POST['apellidos']);
if(
$longitud 3)
echo 
"<br><b> Los apellidos deben tener por lo menos 3 caracteres</b>";
$longitud=strlen($_POST['direccion']);
if(
$longitud 5)
echo 
"<br><b> La direcci&oacute;n debe tener por lo menos 5 caracteres</b>";
$longitud=strlen($_POST['poblacion']);
if(
$longitud 2)
echo 
"<br><b> La poblaci&oacute;n debe tener por lo menos 2 caracteres</b>";
$longitud=strlen($_POST['cp']);
if(
$longitud !=5)
echo 
"<br><b> El C.P. debe tener 5 caracteres</b>";
$longitud=strlen($_POST['dni']);
if(
$longitud 8)
echo 
"<br><b> El dni debe tener por lo menos 8 numeros</b>";
$longitud=strlen($_POST['telefono']);
.... 

Si esto es lo q preguntaste a mi entender no se puede, porque??

porque la variable $longitud va cambiando.
Quizá lo q te haya confundido es que siempre usa la misma variable, pero el tema es q esa variable va cambiando con los sucesivos valores de las variables q vienen del $_POST,
O sea, quizá para q no te confundas el nombre de la variable podría cambiar, por ejemplo:

Código PHP:
...
$longitud_1=strlen($_POST['nombre']);
if(
$longitud_1 3)
echo 
"<br><b> El nombre debe tener por lo menos 3 caracteres</b>";
$longitud_2=strlen($_POST['apellidos']);
if(
$longitud_2 3)
echo 
"<br><b> Los apellidos deben tener por lo menos 3 caracteres</b>";
$longitud_3=strlen($_POST['direccion']);
if(
$longitud_3 5)
... 
Acá se ve bien q la variable q usas para el control( $longitud_x) ca cambiando a medida q tomas la longitud de cada variable q viene del $_POST

Una estructura de switch podría haber sido

Código PHP:
$longitud_1=strlen($_POST['nombre']);
switch( 
$longitu_1 ){
case 
"1":
               ............
case 
"2":
           ..................

.......


O sea como podes ver, lo hago de acuerdo a el valor de la longitud q tiene la variable $_POST['nombre']( q no sabemos cuanto es), pero el valor por más q no sepamos cuanto es "es un valor definido", y nosotros con el switch planteamos todas las posibilidades..

Intenté explicartelo, pero no se si te lo pude transmitir bien, espero q te sirva..., saludos!