Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/05/2005, 01:00
Avatar de jam1138
jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Deberías especificar qué errores tienes y qué es lo que pretendes hacer...

Puedo ver que tienes tres textbox's... supongo ingresas un dato, lo enlistas.. pero al vlver a ingresar otro dato te "lo repite varias veces"...

He visto que repites estas líneas:
Código PHP:
if (count($_POST['nomCat']) > 0) {
                    foreach($_POST["nomCat"] as $nomCat)
                    {
                        //echo "<br>DNI: "."$dni";
                    ?>
                        <input type="hidden" name="nomCat[]" value="<? echo $nomCat?>" >
                    <?
                    
}
                }
... vayamos desde el principio... abriendo desde 0 ¿no te da error de índice no definido??... Haces un if (count($_POST['nomCat']... pero si partes de cero $_POST['nomCat'] simplemente no existe aún...

... ok envias un dato... ... mira, como todo lo tienes dentro de un mismo form, todos los datos serán enviados... tendrás campos vacios... ok!, pero así se recojerán... entonces, aunque envies un campo vacio... ahora sí cumplen las partes en las que tienes cosas como esta: if (count($_POST['nomCat']) > 0)... como siempre vaz a recojer los datos, aún estadno vacios ( incisto), siempre se cumplirá dicha condición, entonces entrará en tu foreach e imprimirá los campos ocultos como lo indicas: <input type="hidden" name="nomCat[]" value="<? echo $nomCat; ?>" >... ahora, como repites esas "impresiones" en varias partes de tu formulario... veo dos a simple vista... súmale!, esos dos campos ocultos tendrán los mismos datos (value="...") y un mismo name que "tu textbox visible" (el original)... entonces para la otra que envies se recojerán dos campos con los mismos datos... más tu textbox original... ¿llevamos?? tres... entonces se impimirán 4 campos ocultos con los mismos datos (enviaste 2 pero repites la impresión) que corresponderán a tu primer registro... más 2 nuevos campos igual ocultos con tu nuevo registro... más tu campo original.. ¿llevamos? ... 7! ... etc... ve com estás trabajando... añade que estamos enviando datos de un solo textbox... pero los otros campos vacios igual se irán agregando... no alcanzo a ver si eso igual te duplicaria (nuevamente) los registros... ....

Espero haberme dado a entender... al menos por eso se da el comportamiento de "repetir" registros... solución?? no sé... sesiones?, índices predefinidos?, manejar los campos como formularios independientes?, validaciones del tipo empty($_POST['...'])?, actuar dependiendo del name de un botón clickeado?.... No entendiendo bien lo que buscas... creo todas esas serían soluciones viables... quizá combinaciones de algunas... ... piensalo bien.

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"