Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/09/2011, 17:20
disweb
 
Fecha de Ingreso: octubre-2008
Mensajes: 165
Antigüedad: 15 años, 6 meses
Puntos: 12
Uploadify: Enviar fotos con título y descripción

Hola amigos, una vez más estoy en busca de su ayuda.

Me gusta el Uploadify por tener una barra gráfica de la subida de archivos, y buscando en internet encontre este enlace, donde envía los datos a una Base de Datos MySQL. Y me funciona perfectamente el envío de archivos y la inserción del nombre y la fecha.

El problema es que estoy intentando agregar título y descripción a la foto que se envía. Ya he agregado un par de líneas al código pero no me funciona.

La Base de Datos es:
Código:
DROP TABLE IF EXISTS `uploadify`;
CREATE TABLE `uploadify` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `filename` varchar(200) DEFAULT NULL,
  `title`varchar(200) DEFAULT NULL,
  `description` text DEFAULT NULL,
  `filedate` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
Donde agregué los campos title y description

El index.php es:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Enviando archivo con Uploadify a BD!</title>

<!-- 
CSS -->
<
link rel="stylesheet" href="uploadifyit/uploadify.css" type="text/css" />

<!-- 
Javascript -->
<
script type="text/javascript" src="uploadifyit/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="uploadifyit/swfobject.js"></script>
<script type="text/javascript" src="uploadifyit/jquery.uploadify.v2.1.4.min.js"></script>
<script type="text/javascript">

$(document).ready(function() {
    
    //alert('I am ready to use uploadify!');
    $("#file_upload").uploadify({
        'uploader': 'uploadifyit/uploadify.swf',
        'script': 'uploadifyit/uploadify.php',
        'cancelImg': 'uploadifyit/cancel.png',
        'folder': 'uploads',
        'auto': false, // use for auto upload
        'multi': true,
        'queueSizeLimit': 1, //Para enviar solo un archivo
        'onQueueFull': function(event, queueSizeLimit) {
            alert("Ya no puede colocar más archivos! Sólo puede subir " + queueSizeLimit + " a la vez.");
            return false;
        },
        'onComplete': function(event, ID, fileObj, response, data) {
            // you can use here jQuery AJAX method to send info at server-side.
            $.post("insert.php", { name: fileObj.name }, function(info) {
                alert(info); // alert UPLOADED FILE NAME
            });
        }
    });


    
});

</script>
</head>

<body>

<form id="form1" name="form1" action="">
<input type="file" id="file_upload" name="file_upload" /><br />
File title: <br />
<input type="text" id="title" name="title" /><br />
File Description:<br />
<textarea cols="30" rows="4" id="description" name="description"></textarea><br />
<a href="javascript:$('#file_upload').uploadifyUpload();">Upload File</a>
</form>
</body>
</html> 
En éste he agregado los campos de formulario title y description.

Por último el archivo insert.php
Código PHP:
<?php

    
// connect database
    
$dbc mysql_connect("localhost""root""");

    
// select database
    
mysql_select_db("uploadify_ba2"$dbc);

    if(isset(
$_POST)) {

        
//echo $_POST['name'];
        
$fileName $_POST['name'];
        
$time time();
        
$title $_POST['title'];
        
$description $_POST['description'];
        
        
mysql_query("INSERT INTO uploadify(filename, filedate, title, description) VALUES('$fileName', '$time', '$title', '$description')");
        
$inserted_id mysql_insert_id($dbc);
        
        if(
$inserted_id 0) { // if success
            
echo "Archivo subido: " $fileName;
        }

    }

?>
En este he agregado:
$title = $_POST['title'];
$description = $_POST['description'];
Y sus respectivos elementos en el INTO de mysql

Aún con lo que le he agregado a los scripts, me envía la foto e inserta los datos del nombre de archivo y su fecha, pero deja en blanco los otros dos.

Agradezco de antemano su ayuda.