Lo que estoy intentando hacer es introducir datos a "producto". Esos datos son, principalmente, "fotos" y "referencias". El producto puede tener varias fotos y varias referencias.
Las referencias a su vez tambien puede contener varias fotos.
Una vez elegidas todas las fotos de producto y de las referencias (con campos type='file'), cuando intento acceder al contenido del vector $_FILES, que se supone que debe contener todos los archivos que se han subido, descubro que el array no contiene todos los archivos que he elegido, si no solo los ultimos.
Esto es lo que he comprobado que pasa:
- Si he puesto fotos, referencias y fotos a esas referencias, solo coge las fotos de la ultima referencia
Código HTML:
<html> <head> <script language="javascript"> var picnum = 0; var picnum_ref=new Array(); var refnum = 0; function nuevafoto() { // Añade un campo de fichero al DIV fotos var td = document.getElementById("nuevasfotos"); picnum++; td.innerHTML += "<div id='nuevafoto_"+picnum+"'>"; var d = document.getElementById("nuevafoto_"+picnum); d.innerHTML += "<input type='file' id='file_"+picnum+"' name='file_"+picnum+"' class='area' size='48'>"; d.innerHTML += " <a href='javascript:quitafoto("+picnum+")'>Eliminar Foto</a>"; d.innerHTML += "<br /><br />"; } function quitafoto(num) { var d = document.getElementById("nuevafoto_"+num); d.innerHTML = ""; } function nuevafoto_referencia(num) { // Añade un campo de fichero al DIV fotos var td = document.getElementById("referencia_nuevasfotos_"+num); if(isNaN(picnum_ref[num])){ picnum_ref[num]=0; } picnum_ref[num]++; td.innerHTML += "<div id='referencia_nuevafoto_"+num+"_"+picnum_ref[num]+"'>"; var d = document.getElementById("referencia_nuevafoto_"+num+"_"+picnum_ref[num]); d.innerHTML += "<input type='file' id='file_"+picnum_ref[num]+"' name='file_"+picnum_ref[num]+"' class='area' size='48'>"; d.innerHTML += " <a href='javascript:quitafoto_referencia("+num+","+picnum_ref[num]+")'>Eliminar Foto</a>"; d.innerHTML += "<br /><br />"; } function quitafoto_referencia(num,num2) { var d = document.getElementById("referencia_nuevafoto_"+num+"_"+num2); d.innerHTML = ""; } function nuevareferencia() { // Añade un campo de fichero al DIV fotos var td = document.getElementById("nuevasreferencias"); refnum++; td.innerHTML += "<div id='nuevareferencia_"+refnum+"'>"; var d = document.getElementById("nuevareferencia_"+refnum); var t="<table style='border: 1px solid'><tr><td>"; t+="Referencia "+refnum; t+="</td></tr><tr><td colspan=2>"; t+="<span class=label>Fotos:</span>"; t+="<br>"; t+="<table width='400' cellspacing='0' cellpadding='0' border='0'>"; t+="<tr valign='top'><td align='left' colspan='2' id='referencia_nuevasfotos_"+refnum+"'>"; t+="</td></tr>"; t+="<tr valign='top><td align='left' colspan='2'>"; t+="<center><a href='javascript:nuevafoto_referencia("+refnum+")'>Añadir una foto</a></center>"; t+="</td></tr>"; t+="</table>"; t+="</td></tr><tr><td>"; t+= " <a href='javascript:quitareferencia("+refnum+")'>Eliminar Referencia</a>"; t+= "<br /><br />"; t+="</td></tr></table>"; d.innerHTML+=t; } function quitareferencia(num) { var d = document.getElementById("nuevareferencia_"+num); d.innerHTML = ""; } </script> </head> <body> <form name="form" action="run.php" method="post" enctype="multipart/form-data"> P R O D U C T O S<br><br><br> <div id="div_fotos" style='background-color:#FFFFCC'> FOTOGRAFIAS<br> <div class="formulario"> <table width="400" cellspacing="0" cellpadding="0" border="0"> <tr valign="top"> <td align="left" colspan="2" id="nuevasfotos"> </td> </tr> <tr valign="top"> <td align="left" colspan="2"> <center><a href="javascript:nuevafoto()">Añadir una foto</a></center> </td> </tr> </table> </div> </div> <br><br> <div id="div_referencias" style='background-color:#FFCC99'> REFERENCIAS<br> <div class="formulario"> <table width="400" cellspacing="0" cellpadding="0" border="0"> <tr valign="top"> <td align="left" colspan="2" id="nuevasreferencias"> </td> </tr> <tr valign="top"> <td align="left" colspan="2"> <center><a href="javascript:nuevareferencia()">Añadir una referencia</a></center> </td> </tr> </table> </div> </div> <br /><br /><br /> <center> <input type="submit" name="submit" value="Aceptar" class="area"> </center> </form> </body> </html>
Gracias