ActionScript - upload con flash+php+mysql

 
Vista:

upload con flash+php+mysql

Publicado por Ronny Rojas (1 intervención) el 16/01/2013 16:38:59
Buenas..

Muchachos tengo un pequeño inconveniente y pues necesito de su colaboracion..

tengo un upload en flash con as2.0 que me sube archivos de video a una carpeta en el server y tambien su respectivo nombre en la bd, el cual funciona perfectamente, el cuento es que esta acompañado de un form (como muestra la imagen)

y esas variables del form(autor, titulo, descripcion) no me las inserta en la bd mysql.

este es et codigo del upload

[as]btenviar.onRelease = function() {
fileUpload.upload("uploadf.php?action=upload");
enviarForm();

}

function enviarForm() {
envio_lv.titulo = txttitulo.text;
envio_lv.autor = txtautor.text;
envio_lv.descripcion = txtdescripcion.text;
envio_lv.sendAndLoad("form.php", envio_lv, "POST");

}[/as]

como ven, uso 2 archivos .php (uploadf.php, form.php), el primero es el que me sube el archivo y el segundo es el que me sube los datos del form(autor, titulo, descripcion) en la bd.

mi pregunta es: como puedo yo hacer que con un mismo archivo .php me haga las 2 cosas? porque asi como lo tengo me hace una doble insercion: una con solo el video y la otra con solo los datos del form(autor, titulo, descripcion).

Les agradeceria toda su colaboracion
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Unificar la inserción de datos en BD y la subida de archivos

Publicado por Alejandro (369 intervenciones) el 28/06/2023 17:07:53
¡Hola, Ronny! Para unificar la inserción de datos en la base de datos y la subida de archivos usando un solo archivo PHP, puedes modificar el archivo "form.php" para manejar ambos procesos. Aquí hay una posible solución:

1. Dentro de "form.php", puedes verificar si se están enviando datos del formulario o un archivo para determinar el tipo de acción a realizar.

2. Puedes utilizar la variable global `$_FILES` en PHP para verificar si se ha enviado algún archivo. Si es así, puedes procesar la subida del archivo y guardar la información relacionada en la base de datos.

3. Si no se ha enviado ningún archivo, puedes asumir que se están enviando datos del formulario y realizar la inserción en la base de datos directamente.

Aquí tienes un ejemplo de cómo podrías estructurar tu archivo "form.php":

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
// Verificar si se ha enviado un archivo
if(isset($_FILES['archivo']) && $_FILES['archivo']['error'] === UPLOAD_ERR_OK) {
    // Procesar la subida del archivo
    $nombreArchivo = $_FILES['archivo']['name'];
    $rutaArchivo = "carpeta_en_el_servidor/" . $nombreArchivo;
 
    // Mover el archivo a la carpeta deseada
    move_uploaded_file($_FILES['archivo']['tmp_name'], $rutaArchivo);
 
    // Obtener los datos del formulario
    $titulo = $_POST['titulo'];
    $autor = $_POST['autor'];
    $descripcion = $_POST['descripcion'];
 
    // Realizar la inserción en la base de datos
    // Aquí debes agregar el código para insertar los datos en tu base de datos MySQL
 
    // Responder con una confirmación de éxito
    echo "Archivo y datos del formulario se han guardado correctamente.";
} else {
    // No se ha enviado un archivo, solo se están enviando los datos del formulario
    // Obtener los datos del formulario
    $titulo = $_POST['titulo'];
    $autor = $_POST['autor'];
    $descripcion = $_POST['descripcion'];
 
    // Realizar la inserción en la base de datos
    // Aquí debes agregar el código para insertar los datos en tu base de datos MySQL
 
    // Responder con una confirmación de éxito
    echo "Datos del formulario se han guardado correctamente.";
}
?>

En el código anterior, se verifica si se ha enviado un archivo utilizando `isset($_FILES['archivo']) && $_FILES['archivo']['error'] === UPLOAD_ERR_OK`. Si se cumple esa condición, se procesa la subida del archivo y se guarda la información relacionada en la base de datos. Si no se ha enviado un archivo, se asume que solo se están enviando los datos del formulario y se insertan en la base de datos directamente.

Recuerda reemplazar "carpeta_en_el_servidor" con la ruta adecuada a la carpeta donde deseas guardar los archivos en tu servidor.

Espero que esta solución te sea útil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar