Espero puedan ayudarme con un tema que no logro arreglar, verán les prometí algunos de mis seguidores darles solución a un sistema de re modifique en usabilidad y diseño basado en algo ya hecho. Se llama Uploadify en HTML5 y CSS3.
Historia
Este archivo inicialmente estuvo pensado para subir solo imagenes, mi participacion en este proyecto es:
Subir varios formatos como .xls, .doc, .zip, .html etc.
Tabla IU, vista de orden y búsqueda instantánea.
Selección con check
Vista detalle con thinkbox
HTML5 y CSS3
Problema o cuestion
Resulta que requiero de aumentar algunos campos mas adicionales y ser guardados en una BD, le muestro el código por el cual estoy batallando en resolver. Les comento.
Los campos se encuentran en este forms. nuevaimagen.php
Código HTML :
<form> <div class="formulario-title"><span >REGISTRAR ARCHIVOS</span></div> <div ><div ><div > <table > <tr> <td valign="top"><span >Descripción</span><br/> <input name="autor" id="autor" type="text" /> <textarea class="cajas" cols="" name="txtdes" id="txtdes" style="width: 400px;height: 80px" ></textarea> </td> <td><input id="file_upload" type="file" name="file_upload" /></td> </tr> </table> </div></div></div> <div align="right"> <input class="button" type="button" value="Cargar" onclick="javascript:startUpload('file_upload', document.getElementById('txtdes'))"/> </div> </form>
Como veran solo cuenta con un TEXTAREA
Código :
<textarea class="cajas" cols="" name="txtdes" id="txtdes" style="width: 400px;height: 80px" >
Mi idea es poner mas campos posibles.
Después en el evento cargar existe un onclick que inicia una función con 2 variables, y corre el script que esta en js/nuevaimagen.js
Código Javascript :
<script type="text/javascript"> $(document).ready(function() { $("#file_upload").fileUpload({ 'uploader': 'uploadify/uploader.swf', 'cancelImg': 'uploadify/cancel.png', 'script': 'libs/subirarchivo.php', 'folder': 'uploads', 'buttonText': 'examinar', 'checkScript': 'uploadify/check.php', 'fileDesc': 'Archivos', 'auto':false, //Estensiones permitidas para carga de los archivos 'fileExt': '*.jpg;*.jpeg;*.gif;*.png;*.xlsx;*.docx;*.html;*.txt;*.pdf;*.zip', //Puede ingresar mas de 1 archivo a la vez, false solo 1 archivo 'multi': true, 'displayData': 'percentage', onComplete: function (){ verlistadoimagenes(); $("#txtdes").val(''); $("#autor").val(''); } }); $('#txtdes').bind('change', function(){ $('#file_upload').fileUploadSettings('scriptData','&des='+$(this).val()); }); }) function startUpload(id, conditional){ if(conditional.value.length != 0) { $('#'+id).fileUploadStart(); } else alert("Debe ingresar una descripcion"); } </script>
En este punto especifico no se lo que realmente haga no entiendo su logica , como puedo agregar mas datos y agregarlos al javascript, por mas que le doy vueltas no veo por donde
Estos datos deben pasar a este script php donde hace el INSERT libs/subirarchivo.php
Código PHP :
<?php //archivo que contiene la conexion include("mysql.inc.php"); try{ $db = new MySQL(); $arrayreempla=array("/",""); $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/'; $archivo= str_replace($arrayreempla," ", $_FILES['Filedata']['name']); $tempFile = $_FILES['Filedata']['tmp_name']; $type= explode(".", $archivo); $extension = end($type); $imagen= time(). "-" . $archivo; $descrip= $_REQUEST['des']; $autor = $_REQUEST['autor']; $targetFile = str_replace("//", "/", $targetPath) . $imagen; $insert = $db->consulta("INSERT INTO `tbl_temp_files` (`id_files`, `nombre` , `descripcion` , `tipo`, `status`, `autor` )VALUES('NULL','$imagen','$descrip','$extension','1','$autor')"); if ($insert){ echo "1"; move_uploaded_file($tempFile, $targetFile); }else{ echo "0"; } } catch (Exception $ex) { echo "0"; } ?>
Si obervan hay un dato que yo agregue que es "autor" pero no pude guardarlo en la BD por este no trae nada esta vacio ya que desde el JS no estoy mandando nada por que no esta bien declarada.
Espero puedan ayudarme y con gusto los incluyo como participe del proyecto.
Si necesitan mas datos indiquenme.
Saludos