Foros del Web » Programando para Internet » PHP »

pasar campo archivo de un formulario a otro

Estas en el tema de pasar campo archivo de un formulario a otro en el foro de PHP en Foros del Web. hola, pues resulta que por cierta necesitad tengo 2 archivos, cada uno con un formulario (paso 1 y paso 2) entonces al terminar paso 1 ...
  #1 (permalink)  
Antiguo 07/12/2009, 14:48
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años, 7 meses
Puntos: 9
pasar campo archivo de un formulario a otro

hola, pues resulta que por cierta necesitad tengo 2 archivos, cada uno con un formulario (paso 1 y paso 2) entonces al terminar paso 1 mando al formulario del paso 2 (segundo archivo) y paso todos los valores del formulario 1 por medio de GET o POST y pues en el formulario 2 tengo los mismos campos pero ocultos con el value="<? echo $_GET['campo']?>" y todo funciona perfecto

PERO

el unico problema es que no puedo pasar el del archivo, le doy asi y no imprime nada, que podre hacer? gracias.


  #2 (permalink)  
Antiguo 07/12/2009, 14:51
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: pasar campo archivo de un formulario a otro

Que archivo??? Tenes un input file en el formulario 1??
  #3 (permalink)  
Antiguo 07/12/2009, 14:53
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años, 7 meses
Puntos: 9
Respuesta: pasar campo archivo de un formulario a otro

asi es tengo un campo de carga de archivo, pero estoy imaginando que quizas tengo que usar otra propiedad en lugar de value. en el form2 tambien tengo otro de carga de archivo y kiero que tome el valor del campo de carga de archivo 1 que esta en el formulario 1

esto es lo que tengo en el form2 (sobre el archivo)

<input name="archivo" type="file" id="archivo" size="75" value="<? echo $_POST['archivo']; ?>"/>
  #4 (permalink)  
Antiguo 07/12/2009, 14:54
 
Fecha de Ingreso: junio-2009
Mensajes: 51
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: pasar campo archivo de un formulario a otro

Esta parte es la que no entendi

el unico problema es que no puedo pasar el del archivo, le doy asi y no imprime nada, que podre hacer? gracias.
  #5 (permalink)  
Antiguo 07/12/2009, 14:56
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 3 meses
Puntos: 105
Respuesta: pasar campo archivo de un formulario a otro

para archivos es diferente....
revisa este link http://www.desarrolloweb.com/articulos/1307.php

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #6 (permalink)  
Antiguo 07/12/2009, 14:56
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años, 7 meses
Puntos: 9
Respuesta: pasar campo archivo de un formulario a otro

si, osea:

pag1
form1
text1
text2
text3
archivo

pag2
form2
text1
text2
text3
archivo

al darle submit al form1 quiero que envie todos los valores de su campo al form2 para continuar la captura de información, incluyendo el archivo seleccionado en el form1
  #7 (permalink)  
Antiguo 07/12/2009, 14:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: pasar campo archivo de un formulario a otro

definitivamente no se pueden pasar los valores de un <input type="file"/>

¿por que??

por razones de seguridad, eso no se puede hacer... de verdad!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 07/12/2009, 14:58
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 3 meses
Puntos: 105
Respuesta: pasar campo archivo de un formulario a otro

Bueno, con lo ultimo que has dicho, ps no se puede, ya que los archivos a subir son temporales y cada vez que refrescas la web, se le asigna un nuevo temporal a los archivos, por lo que no puedes pasar el archivo seleccionado del primero formulario al segundo.....

para cargar archivos es algo asi............

Código html:
Ver original
  1. <form action="upload.php" method="post" enctype="multipart/form-data">
  2.     <td class="text">
  3.       <input name="archivo" type="file" class="casilla" id="archivo" size="35" />
  4.       <input name="enviar" type="submit" class="boton" id="enviar" value="Upload File" />
  5.       <input name="action" type="hidden" value="upload" />    </td>
  6.     </form>

Código php:
Ver original
  1. <?php
  2. $status = "";
  3. if ($_POST["action"] == "upload") {
  4.     // obtenemos los datos del archivo
  5.     $tamano = $_FILES["archivo"]['size'];
  6.     $tipo = $_FILES["archivo"]['type'];
  7.     $archivo = $_FILES["archivo"]['name'];
  8.     $prefijo = substr(md5(uniqid(rand())),0,6);
  9.    
  10.     if ($archivo != "") {
  11.         // guardamos el archivo a la carpeta files
  12.         $destino =  "files/".$prefijo."_".$archivo;
  13.         //COMO VEZ, LO QUE SE COPIA ES EL ARCHIVO TEMPORAL $_FILES['archivo']['tmp_name']
  14.         if (copy($_FILES['archivo']['tmp_name'],$destino)) {
  15.             $status = "Archivo subido: <b>".$archivo."</b>";
  16.         } else {
  17.             $status = "Error al subir el archivo";
  18.         }
  19.     } else {
  20.         $status = "Error al subir archivo";
  21.     }
  22. }
  23. ?>

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #9 (permalink)  
Antiguo 07/12/2009, 15:01
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: pasar campo archivo de un formulario a otro

Sino codifica con base_64() y escribilo en un archivo de texto, y dsps leelo en el form 2
  #10 (permalink)  
Antiguo 07/12/2009, 15:07
 
Fecha de Ingreso: junio-2009
Mensajes: 51
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: pasar campo archivo de un formulario a otro

porque no haces todo en un solo archivo separado por pasos, es decir, tienes form.php el cual esta dividido por la paso1 y todos sus inputs, despues al final el boton de paso2 que enrealidad es un enlace con un evente onClick que lo que haria seria ocultar el paso1 y mostrar el paso2, al final de paso2 esta el submit que ya enviaria los datos del formularioa ser procesados incluyendo la carga de archivos al servidor.
  #11 (permalink)  
Antiguo 07/12/2009, 15:10
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: pasar campo archivo de un formulario a otro

Cita:
Iniciado por alexitech Ver Mensaje
porque no haces todo en un solo archivo separado por pasos, es decir, tienes form.php el cual esta dividido por la paso1 y todos sus inputs, despues al final el boton de paso2 que enrealidad es un enlace con un evente onClick que lo que haria seria ocultar el paso1 y mostrar el paso2, al final de paso2 esta el submit que ya enviaria los datos del formularioa ser procesados incluyendo la carga de archivos al servidor.
Es verdad, perfecta idea la verdad!
  #12 (permalink)  
Antiguo 07/12/2009, 15:27
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años, 7 meses
Puntos: 9
Respuesta: pasar campo archivo de un formulario a otro

lo que pasa es que estoy tratando de separarlo por que es una aplicacion multiusuarios que el usuario captura información de documentos y luego genera automaticamente un folio, entonces si lo hago todo junto se genera un folio pero como aun no se ha guardado la información en la base de datos pues puede entrar otro usuario que escriba o use la computadora mas rapido y que utilice el mismo folio y guarde, entonces cuando el primer usuario quiera guardar le marcara error por que los folios son unicos.


bueno, en si el folio se hace al momento de ya guardar en la bd, pero el detall aki que el form2 consta de las opciones de folio, osea si es bis o no, si no es guarda y genera el folio, si es bis le muestra opciones de fecha de los posibles folios ya existentes que puede seleccionar para convertir un folio a bis. la idea de dividir esto en 2 forms es reducir el tiempo entre el trabajo con los folios y el guardar
  #13 (permalink)  
Antiguo 07/12/2009, 15:30
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: pasar campo archivo de un formulario a otro

No entendi nada sobre los folios la verdad... Explicame mejor la parte de q "si un usuario maneja mas rapido la pc" y la de "si es bis o no"
  #14 (permalink)  
Antiguo 07/12/2009, 15:32
 
Fecha de Ingreso: junio-2009
Mensajes: 51
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: pasar campo archivo de un formulario a otro

Entonces lo que podrias hacer es lo siguiente

Cuando termines el formulario 1 o paces a procesar, llamemos al archivo procesa.php este archivo guarda todo en la base de datos, incluyendo el archivo que subiste (o su ruta) y al final con un header ("Location: paso2.php?var1=valor1,&var2=valor2"); le pasas las variables que ocupas por GET.

Tambien podrias usar sesiones para pasar variables de una pagina a otra.
  #15 (permalink)  
Antiguo 07/12/2009, 15:36
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 3 meses
Puntos: 105
Respuesta: pasar campo archivo de un formulario a otro

usa ajax y listo.... lo guardas y cambias la presentacion como si fuera a otra pagina pero en verdad no..... asi te evitas de refrescar la web ya que el ajax solo recargaria el form.....

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #16 (permalink)  
Antiguo 07/12/2009, 15:38
Avatar de Mcruzmx  
Fecha de Ingreso: abril-2006
Mensajes: 357
Antigüedad: 18 años, 7 meses
Puntos: 9
Respuesta: pasar campo archivo de un formulario a otro

bueno, eske se manejan 2 tipos de folios (claves de documentos) cada documento tiene un asunto (titulo) quien lo envia (remitente) y a quien se lo envian (destinatario) entre otras cosas. bueno digamos que el tema "compra que maquinaria" es el tema 1 y "inventario" es el tema 2, entonces cada tema tiene su "folio", entonces quizas el tema 1 por alguna razon se necesite dar un nuevo documento pero con la misma clave (folio) para que se sepa que es para darle continuidad, entonces digamos que el tema 1 tiene un folio "EMPRESA 20/401" y el tema 3 (que es la continuidad del 1) tendria un folio "EMPRESA 20/401 BIS"


entonces, el detalle aqui que hay personas que tardan mucho en escribir (el asunto y los demas campos) y hay personas que son mas rapidas en manejar la computadora, entonces el sistema digamos que para hacer un folio bis se te pregunta ¿en que fecha se dio el folio que quieres hacer bis? y tu tienes opciones (un list box) y dependiendo de lo que seleccionas (fecha) te muestra si es que existe algun folio disponible para agregarle la palabra BIS y se guarda como un nuevo folio. entonces una regla es que solo puede haber 1 folio de forma unica en la base de datos, osea no se pueden repetir y otra regla es que no se le puede permitir al usuario escribir manualmente los folios.

por lo mismo digamos que entra un usuario A y secciona que quiere un folio bis del 7 de dic de 09 y se encuentra en esa fecha el folio EMPRESA 20/401, pero mientras este usuario captura el asunto llega el usuario B y casualmente pone la misma fecha y le aparece EMPRESA 20/401, lo selecciona y guarda, entonces cuando quiera el usuario A guardar le dira el sistema "te lo ganaron, escoge otra fecha" y quiero evitar eso.
  #17 (permalink)  
Antiguo 07/12/2009, 15:49
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 3 meses
Puntos: 105
Respuesta: pasar campo archivo de un formulario a otro

ps eso es inevitable..... piña por ser lento ps....... jajaja.........

el mensaje "disculpe, pero ese folio acaba de ser ocupado", es preciso para ti.

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:40.