Foros del Web » Programando para Internet » PHP »

Foto con formulario

Estas en el tema de Foto con formulario en el foro de PHP en Foros del Web. Hola, estoy haciendo un formulario de noticias donde entre otros datos como el titulo y la noticia se encuentra la foto de la noticia. El ...
  #1 (permalink)  
Antiguo 15/11/2012, 14:42
 
Fecha de Ingreso: julio-2011
Mensajes: 24
Antigüedad: 13 años, 4 meses
Puntos: 0
Foto con formulario

Hola, estoy haciendo un formulario de noticias donde entre otros datos como el titulo y la noticia se encuentra la foto de la noticia.

El sistema esta hecho con PHP, SQL y jquery. El problema lo tengo q cuando quiero subir la imagen el codigo de jquery q tengo q es el siguiente(resumido):

Código Javascript:
Ver original
  1. $('#client').live('submit',function(){
  2.         var params={};
  3.         params.action='saveClient';
  4.         params.id=$('#id').val();
  5.         params.titulo=$('#titulo').val();
  6.         params.resumen=$('#resumen').val();
  7.         params.foto=$('#foto').val();
  8.         $.post('index.php',params,function(){
  9.             $('#block').hide();
  10.             $('#popupbox').hide();
  11.             $('#content').load('index.php',{action:"refreshGrid"});
  12.         })
  13.         return false;
  14.     })

y el formulario el siguiente(resumido):

Código HTML:
<h2><?php echo $view->label ?></h2>
<form name ="client" id="client" method="POST" enctype="multipart/form-data" action="index.php">
    <input type="hidden" name="id" id="id" value="<?php print $view->client->getId() ?>">
    <div>
        <label>Titulo</label>
        <input type="text" name="titulo" id="titulo" value = "<?php print $view->client->getTitulo() ?>">
    </div>
    <div>
        <label>Resumen</label>
        <textarea name="resumen" id="resumen"><?php print $view->client->getResumen() ?></textarea>
    </div>
     <div>
        <label>Foto</label>
         Archivo: <input name="foto" id="foto" type="file"> 
</div>
    
    <div class="buttonsBar">
        <input id="cancel" type="button" value ="Cancelar" />
        <input id="submit" type="submit" name="submit" value ="Guardar" />
    </div>
</form> 
Y al subir la imagen lo q sucede es q en ves de guardar el nombre del archivo como tal ej foto.jpg lo guarda de esta forma C:\\fakepath\\DSCF0084.JPG

seguramente debe haber algun codigo en jquery para q en vez de guardarme ese dato me guarde el nombre de la foto en si.
Ojala me puedan ayudar, muchas gracias!!
  #2 (permalink)  
Antiguo 15/11/2012, 16:08
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Respuesta: Foto con formulario

muestranos lo que tiene el archivo index.php
  #3 (permalink)  
Antiguo 15/11/2012, 16:42
 
Fecha de Ingreso: julio-2011
Mensajes: 24
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Foto con formulario

Lo q tiene el index es la tabla con todas las noticias cargadas.
El funcionamiento de eso ya lo tengo listo, el problema es q necesito q se guarde en la base de datos el nombre del archivo subido y no la ruta esa q se esta guardando.
  #4 (permalink)  
Antiguo 15/11/2012, 18:06
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Respuesta: Foto con formulario

El script que pusiste es solo JQuery, que esta mandando un post a index.php que es el que realiza la inserción a la base de datos, no esto que pusiste.

es necesario ver como procesa el archivo php la consulta a la base de datos para poder saber como estas tomando los archivos $_FILE que estas mandando por el formulario.

OK?
  #5 (permalink)  
Antiguo 16/11/2012, 07:43
 
Fecha de Ingreso: julio-2011
Mensajes: 24
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Foto con formulario

ok, no termino de entender para q te sirve lo q me pedis pero es medio largo el index aca te paso la parte q esta relacionada:


esto arma la tabla de los clientes

Código HTML:
Ver original
  1.         <?php foreach ($view->clientes as $cliente):  // uso la otra sintaxis de php para templates ?>
  2.             <tr>
  3.                 <td><?php echo $cliente['id'];?></td>
  4.                 <td><?php echo $cliente['titulo'];?></td>
  5.                 <td><?php echo $cliente['resumen'];?></td>
  6.                 <td><?php echo $cliente['completa'];?></td>
  7.                 <td><?php echo $cliente['foto'];?></td>
  8.                 <td><?php echo $cliente['restric'];?></td>
  9.                 <td><a class="edit" href="javascript:void(0);" data-id="<?php echo $cliente['id'];?>">Editar</a></td>
  10.                 <td><a class="delete" href="javascript:void(0);" data-id="<?php echo $cliente['id'];?>">Borrar</a></td>
  11.             </tr>
  12.         <?php endforeach; ?>
  13.     </tbody>


aca se guarda el cliente

Código PHP:
Ver original
  1. case 'saveClient':
  2.         // limpio todos los valores antes de guardarlos
  3.         // por ls dudas venga algo raro
  4.         $id=intval($_POST['id']);
  5.         $titulo=cleanString($_POST['titulo']);
  6.         $resumen=cleanString($_POST['resumen']);
  7.         $completa=cleanString($_POST['completa']);
  8.         $foto=cleanString($_POST['foto']);
  9.         $restric=cleanString($_POST['restric']);
  10.         $cliente=new Cliente($id);
  11.         $cliente->setTitulo($titulo);
  12.         $cliente->setResumen($resumen);
  13.         $cliente->setCompleta($completa);
  14.         $cliente->setFoto($foto);
  15.         $cliente->setRestric($restric);
  16.         $cliente->save();
  17.         break;
saludos espero me puedas ayudar. gracias
  #6 (permalink)  
Antiguo 16/11/2012, 12:04
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Respuesta: Foto con formulario

¿como que no entiendes? si te lo acabo de explicar

el problema esta en esto:

$foto=cleanString($_POST['foto']);

no es $_POST lo que debes utilizar si no $_FILES y sus variables de upload,

te dejo un minitutorial donde explican de manera muy sencilla como usar $_FILES para subir archivos.

http://www.webtaller.com/construccio...r_archivos.php

y aquí http://php.net/manual/es/reserved.variables.files.php el manual de $_FILES y para que sirve.
  #7 (permalink)  
Antiguo 16/11/2012, 14:12
 
Fecha de Ingreso: julio-2011
Mensajes: 24
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Foto con formulario

Gracias, ahora mismo me lopongo a leer!!!
  #8 (permalink)  
Antiguo 08/10/2013, 06:55
 
Fecha de Ingreso: octubre-2013
Ubicación: la plata
Mensajes: 2
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Foto con formulario

hola buen dia, te hago una consulta...lograste subir una foto con ese codigo? ya que tengo el mismo y no puedo lograrlo si pudiste me decis como lo hiciste? gracias!

Etiquetas: formulario, foto
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 21:59.