Foros del Web » Programando para Internet » PHP »

campo type = "file"

Estas en el tema de campo type = "file" en el foro de PHP en Foros del Web. Hola de nuevo, gente del foro. Tengo una BDD en MySql con datos personales, entre ellos la foto de la persona (aquí guardo la dirección ...
  #1 (permalink)  
Antiguo 13/11/2007, 06:11
 
Fecha de Ingreso: marzo-2004
Mensajes: 117
Antigüedad: 15 años, 8 meses
Puntos: 0
campo type = "file"

Hola de nuevo, gente del foro.
Tengo una BDD en MySql con datos personales, entre ellos la foto de la persona (aquí guardo la dirección y nombre de la foto. El archivo de la foto está en una carpeta).
Tengo un formulario (E) donde introduzco los datos. El campo foto lo capturo con un (input type = "file").
Tengo otro formulario (S) donde muestro los datos de la persona solicitada. En este muestro todos los campos, incluido el campo foto.
En (S) se puede ver y modificar cualquier campo.
El problema es cuando modifico cualquier campo que no sea la foto. cuando doy al botón "guardar" se guardan todos los campos con la información que tengan en ese momento (modificada o no) pero como no he modificado el campo de foto (es type = file) se guarda vacío y desaparece la foto que había.
Lo estoy haciendo con PHP.
No se cómo puedo hacer que si no modifico el campo "foto" me conserve su valor.
Muchas gracias y un saludo.
Jordi
  #2 (permalink)  
Antiguo 13/11/2007, 08:20
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 14 años, 9 meses
Puntos: 33
De acuerdo Re: campo type = "file"

mmm seria cuestion de que validaras de que la variable $_FILES no este vacia para actualizar o insertar

Código PHP:
if(!empty($_FILES['miarchivo']['name'])) // o bien nada más $_FILES
{
//Guardar o actualizar


Saludillos.
  #3 (permalink)  
Antiguo 13/11/2007, 09:49
 
Fecha de Ingreso: marzo-2004
Mensajes: 117
Antigüedad: 15 años, 8 meses
Puntos: 0
Re: campo type = "file"

Muchas gracias Mauled, voy a pensar en lo que me comentas y ya te digo como me ha ido.
saludos.
Jordi
  #4 (permalink)  
Antiguo 19/11/2007, 06:53
 
Fecha de Ingreso: marzo-2004
Mensajes: 117
Antigüedad: 15 años, 8 meses
Puntos: 0
Re: campo type = "file"

Hola de nuevo, lo he resuelto de la siguiente manera:
1º- en el formulario, al lado del campo type=file pongo otro campo type=hidden, para rellenarlo con el contenido del campo foto que hay en la BDD:
Código HTML:
<td><input name="foto" id="foto" type="file"><input name="foto2" type="hidden" id="foto2" value="<? echo $fila['foto'];?>" /> - <? echo $fila['foto'];?></td> 
2º- hago la pregunta:
Código PHP:
if (is_uploaded_file($_FILES['foto']['tmp_name'])) { 
para ver si han modificado el campo foto con el type=file.
Si es cierto modifico el campo foto con lo nuevo del type=file.
3º-Si NO es cierto, modifico el campo foto con el [foto2] que estaba en hydden, y así mantengo el contenido del campo foto, aunque en el formulario de modificación no modifiquen la foto.

Esperor que quede algo claro.
saludos.
Jordi
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 23:20.