Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2010, 05:14
Avatar de dengaku
dengaku
 
Fecha de Ingreso: enero-2010
Mensajes: 69
Antigüedad: 14 años, 10 meses
Puntos: 1
insertar en base de datos php+flash

Pues bien, tengo un formulario en flash que tiene para subir archivos, cuando haces clic en el boton te sube y inserta en la base de datos, bien, el problema es que, cuando me inserta en base de datos, mete 2 filas una con el codigo del usuario, y otra con el resto de datos pero sin el codigo del usuario el php es subir.php,

Código PHP:
<?php
session_start
();


include(
"libreria.php");
        
$conexion=conecta();
        
$archivo $_FILES["Filedata"]['name'];
    
$prefijo substr(md5(uniqid(rand())),0,6);
    
    if (
$archivo != "") {
        
$destino =  "files/".$prefijo."_".$archivo;
        
$alias $prefijo."_".$archivo;
        
copy($_FILES['Filedata']['tmp_name'], $destino);
    }

$num $_POST['numflash'];
$tiempo $_POST['tiempoflash'];
$pass $_POST['passflash'];
$fecha=date('d-m-Y');
$usuario=$_SESSION['usuario_valido'];
$conscod="select cod_usuario from usuarios where nick = '$usuario'";
        
$registro=mysql_fetch_array(mysql_query($conscod));
        
$cod_usuario=$registro['cod_usuario'];    
$cons "insert into archivos (max_descargas,tiempo_vida,clave_archivo,codigo_usuario,nombre,alias,size,num_descargas,fecha_subida,estado) values ('$num','$tiempo','$pass','$cod_usuario','$archivo','$alias','1','0','$fecha','-1')";
mysql_query($cons);
mysql_close($conexion);
En mi flash en una capa tengo un script para cojer y mandar cosas usando los php pertinentes.

Código:
import flash.net.*;

//ENVIAR DATOS
var php:String = "subir.php";
var req:URLRequest = new URLRequest(php);
var vars:URLVariables = new URLVariables();
req.method = URLRequestMethod.POST;
req.data = vars;

/*function alClick(e:MouseEvent):void{
	vars.numflash = enviar_mc.numero.text;
	vars.tiempoflash = enviar_mc.tiempo.text;
	vars.passflash = enviar_mc.pass.text;
	sendToURL(req);
	//navigateToURL(req);
	//loader.load(req);
	URLLoader("admindescarga.php");
}*/
// enviar_mc.enviar_btn.addEventListener(MouseEvent.CLICK, alClick);

//Clases necesarias
import flash.events.*;
import flash.net.FileFilter;
import flash.net.FileReference;
import flash.net.URLRequest;
 
//Dirección del PHP que va a subir el archivo
var uploadURL:URLRequest;
var archivo:FileReference;
 
//Función llamada al pulsar examinar, se crea el filereference y se abre el navegador de archivos
function Examinar(event:MouseEvent) {
	vars.numflash = enviar_mc.numero.text;
	vars.tiempoflash = enviar_mc.tiempo.text;
	vars.passflash = enviar_mc.pass.text;
	//sendToURL(req);
	//navigateToURL(req);
	//loader.load(req);
	Estado_txt.appendText("\n" + "Vamos a seleccionar el archivo.");
	uploadURL = new URLRequest();	
	uploadURL.url = "subir.php";
	archivo = new FileReference();
	PonerListeners(archivo);
	archivo.browse(getTypes());
}
 
//Añado los listener al objeto filereference
function PonerListeners(dispatcher:IEventDispatcher) {
	dispatcher.addEventListener(Event.CANCEL, cancelHandler);
	dispatcher.addEventListener(Event.COMPLETE, completeHandler);
	dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
	dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
	dispatcher.addEventListener(Event.OPEN, openHandler);
	dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
	dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
	dispatcher.addEventListener(Event.SELECT, selectHandler);
	dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler);
}
 
//Con está función se generan los tipos de archivos que estarán disponibles para seleccionar desde el navegador
function getTypes():Array {
	var allTypes:Array = new Array(getImageTypeFilter(), getTextTypeFilter());
	return allTypes;
}
 
//Tipos de imágenes admitidos, tanto para pc como para mac
function getImageTypeFilter():FileFilter {
	return new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)","*.jpg;*.jpeg;*.gif;*.png");
}
 
//Tipos de archivos de texto admitidos, para pc y mac
function getTextTypeFilter():FileFilter {
	return new FileFilter("Text Files (*.txt, *.rtf)","*.txt;*.rtf");
}
 
 
//Se distribuye cuando se cancela la descarga desde el navegador de archivos. 
function cancelHandler(event:Event):void {
	Estado_txt.appendText("\n" + "Subida cancelada.");
}
 
//Se distribuye cuando se finaliza la descarga o la carga
function completeHandler(event:Event):void {
	Estado_txt.appendText("\n" + "Subida completada.");
}
 
//Se reciben datos del servidor tras completar la carga
function uploadCompleteDataHandler(event:Event):void {
	Estado_txt.appendText("\n" + "Subida confirmada por el servidor.");
}
 
//Se produce cuando falla la carga y hay un código http de error. 
//Por ejemplo si no se encuentra el PHP, se generará un error 404.
function httpStatusHandler(event:HTTPStatusEvent):void {
	Estado_txt.appendText("\n" + "Se ha producido el siguiente error: " + event.status);
}
 
//Se produce cuando falla la carga o descarga
function ioErrorHandler(event:IOErrorEvent):void {
	Estado_txt.appendText("\n" + event.text);
}
 
//Se inicia la carga o descarga
function openHandler(event:Event):void {
	Estado_txt.appendText("\nComienza la subida");
}
 
//Se distribuye periodicamente durante la carga o la descarga, mostrando el progreso de la misma. 
function progressHandler(event:ProgressEvent):void {
	var file:FileReference = FileReference(event.target);
	Estado_txt.appendText("\n" + event.bytesLoaded + " bytes de " + event.bytesTotal + " bytes subidos.");
}
 
//Se distribuye al intentar descargar o cargar un archivo de un servidor fuera del entorno de seguridad de la película
function securityErrorHandler(event:SecurityErrorEvent):void {
	Estado_txt.appendText("\nEl servidor no permitió la carga del archivo.");
}
 
//Se distribuye al elegir el archivo para carga o descarga desde el navegador de archivos.
function selectHandler(event:Event):void {
	Estado_txt.text = "";
	var archivo:FileReference = FileReference(event.target);
	Estado_txt.appendText("\n" + "Archivo elegido: " + archivo.name + "\n" + "Tamaño = " + archivo.size + " bytes.");
	archivo.upload(req);
}
 
Examinar_bt.addEventListener(MouseEvent.CLICK,Examinar);
El flash a sido viendo y copiando cosas de tutoriales, no se donde poner esto, no e visto apartado de flash. Si alguien tiene idea, que me mire el subir.php para ver si hago algo mal, el tema es que me crea 2 filas cuando inserta en vez de hacer una solo con su cod_usuario.