Foros del Web » Programando para Internet » PHP »

Problema al subir imagen

Estas en el tema de Problema al subir imagen en el foro de PHP en Foros del Web. Buenas foro Tengo un form donde necesito guardar datos desde un formulario con ajax. El problema es que cuando envio el formulario sin ajax la ...
  #1 (permalink)  
Antiguo 29/05/2013, 13:01
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Pregunta Problema al subir imagen

Buenas foro

Tengo un form donde necesito guardar datos desde un formulario con ajax.
El problema es que cuando envio el formulario sin ajax la imagen si se envia, pero cuando utilizo la funcion para procesar el formulario el nombre de la imagen no llega alguien me puede ayudar.

formulario:
Código HTML:
Ver original
  1. <form method="post" name="formprovedo" id="formprovedo" enctype="multipart/form-data" >
  2.                 <div class="photo" onmouseover="javascript:document.getElementById('capa1').style.visibility='visible';"
  3.                 onmouseout="javascript:document.getElementById('capa1').style.visibility='hidden';">
  4.                     <div id="capa1">
  5.                         <div class="upload">
  6.                         <span>Seleccionar imagen</span>
  7.                         <input name="uploadedfile" id="uploadedfile" type="file" title=".::Debes de elejir un archivo::." onchange="readURL(this);" />
  8.                         </div>
  9.                     </div>
  10.                         <div id="capa2"> <img id="previa" src="images/no_disponible.png" /> </div>
  11.                 </div>
  12.                 <div id"ok"></div>
  13.  
  14.                 <fieldset><legend>Registro de nuevo producto</legend>
  15.                     <label>
  16.                         <span class="etiqueta">Nombre del proveedor:</span>
  17.                         <input type="text" name="provedo" id="provedo" autocomplete="off" onblur="alfanumerico(this);" />
  18.                         <input type="hidden" name="objectID" id="objectID" />
  19.                     </label>
  20.  
  21.                     <label>
  22.                         <span>Categor&iacute;a:</span>
  23.                         <input type="text" name="categoria" id="categoria" onblur="texto(this);" autocomplete="off" />
  24.                         <input type="hidden" name="id_categoria" id="id_categoria" />
  25.                     </label>
  26.  
  27.                     <label>
  28.                         <span>Tipo</span>
  29.                         <select name="tipo" id="lista">
  30.                             <option value="null" selected>.::Elija tipo::.</option>
  31.                             <option value="p">Producto</option>
  32.                             <option value="s">Servicio</option>
  33.                         </select>
  34.                     </label>
  35.                     <label>
  36.                         <span>Producto | Servicio:</span>
  37.                         <input type="text" name="prod_serv" id="prod_serv" onblur="alfanumerico(this);" autocomplete="off" />
  38.                     </label>
  39.  
  40.                     <label for="desc">
  41.                     <span>Descripci&oacute;n del producto | servicio:</span>
  42.                         <textarea name="desc" id="desc"></textarea>
  43.                     </label>
  44.                     <input type="submit" value="Guardar datos" />
  45.                 </fieldset>
  46.             </form>

function ajax:
Código Javascript:
Ver original
  1. $(function(){
  2. $("#formprovedo").submit(function(){
  3.     $.ajax({
  4.         type:"POST",
  5.         url:"accion.php?accion=agregar",
  6.         dataType:"html",
  7.         data:$(this).serialize(),
  8.         beforeSend:function(){
  9.             $("#loading").show();
  10.         },
  11.         success:function(response){
  12.             $("#response").html(response);
  13.             $("#loading").hide();
  14.         }
  15.  
  16.     })
  17.     return false;
  18. })
  19.  
  20. })

y asi recibo los datos:
Código PHP:
Ver original
  1. $provedo = $_POST["provedo"];
  2.         $id_provedo = $_POST["objectID"];
  3.         $categoria = $_POST["categoria"];
  4.         $id_categoria = $_POST["id_categoria"];
  5.         $prod_serv = $_POST["prod_serv"];
  6.         $desc = $_POST["desc"];
  7.        
  8.         $ruta ='../images/productos';
  9.         $temp = $_FILES['uploadedfile']['tmp_name'];
  10.         $nombreImagen = $_FILES['uploadedfile']['name'];
  11.         move_uploaded_file($temp,$ruta."/".$nombreImagen);
  12.         $ruta = $ruta."/".$nombreImagen;
  13.        
  14.         $tipo = $_POST["tipo"];

Alguien sabe porque cuando utilizo la function de ajax no m manda la imagen?

espero me puedan ayudar.
__________________
Lo imposible solo cuesta un poco mas
  #2 (permalink)  
Antiguo 29/05/2013, 13:37
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Problema al subir imagen

He intentado obtener el valor del input file y lo mando como parametro, pero sigue sin funcionar.
Código Javascript:
Ver original
  1. var filec = $("#uploadedfile").val();
__________________
Lo imposible solo cuesta un poco mas
  #3 (permalink)  
Antiguo 29/05/2013, 14:14
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Problema al subir imagen

He logrado obtener el valor del input pero ahora no se como hacerle para haer el proceso de subir el archivo.

Código Javascript:
Ver original
  1. function test()
  2. {
  3.     var input = document.getElementById ("uploadedfile");
  4.     var valor = input.value;
  5.     var path = valor;
  6.     var pos =path.lastIndexOf( path.charAt( path.indexOf(":")+1) );
  7.     var filename = path.substring( pos+1);
  8.     document.getElementById('archivo').value = filename;
  9.     //alert( filename );
  10. }

pero como seria en esta parte:
Código PHP:
Ver original
  1. $ruta ='../images/productos';
  2.         $temp = $_FILES["uploadedfile"]['tmp_name'];
  3.         $nombreImagen = $_FILES["uploadedfile"]['name'];
  4.         move_uploaded_file($temp,$ruta."/".$nombreImagen);
  5.         $ruta = $ruta."/".$nombreImagen;

como puedo hacer para que haga ese proceso correctamente.
__________________
Lo imposible solo cuesta un poco mas

Etiquetas: formulario, html, registro, select
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 20:29.