Ver Mensaje Individual
  #18 (permalink)  
Antiguo 21/06/2003, 12:20
Avatar de Henker
Henker
 
Fecha de Ingreso: febrero-2003
Mensajes: 37
Antigüedad: 21 años, 2 meses
Puntos: 0
Hola Cluster
No me funciona correctamente la validación. El bucle que me pasaste lo he insertado en procesa.php cuando envio los datos del formulario a procesa.php me da
el siguiente error:

Cita:
Existen los siguientes errores:

Error, cuenta: 1 .. Debe especificar Alias
Error, cuenta: 1 .. Debe especificar Pass1
Error, cuenta: 1 .. Debe especificar Pass2
Muestro el código de los dos archivos:

formulario.php

Código PHP:
<?
echo <<<HTML
<form action="procesa.php" method="post">

<!- campos fijos ...  -->
HTML;

for (
$contador=0$contador <= $num_cuentas$contador++){

echo 
"Alias cuenta: ".$contador." <input type=\"text\" name=\"alias[]\"><br>";

echo 
"Pass cuenta: ".$contador." <input type=\"password\" name=\"pass1[]\"><br>";

echo 
"Pass cuenta: ".$contador." <input type=\"password\" name=\"pass2[]\"><br><br>";

}

echo <<<HTML
<!-- resto de campos .. botones submit .. cierre de tag de formulario .. etc -->
  <input type="submit" value="Enviar datos">
</form>
HTML;
?>
procesa.php
Código PHP:
<?
tenga tras cada validación 
..
$errores=array();

for (
$contador=0$contador <= count($_POST['alias']); $contador++){

   if (empty(
$alias[$contador])){
      
$errores[]="Error, cuenta: $contador .. Debe especificar Alias";
   }

   if (empty(
$pass1[$contador])){
      
$errores[]="Error, cuenta: $contador .. Debe especificar Pass1";
   }


   if (empty(
$pass2[$contador])){
      
$errores[]="Error, cuenta: $contador .. Debe especificar Pass2";
   }

   if (
$pass1[$contador] != $pass2[$contador]){
      
$errores[]="Error, cuenta: $contador .. no coinciden passwords";
   }

}

if (
count($errores) > 0){
   echo 
"Existen los siguientes errores:<br>";
   foreach (
$errores as $error){
     echo 
"<li>$error</li>";
   }
} else {

// etc. 
}
etc...
?>