Foros del Web » Programando para Internet » Jquery »

Problema al enviar datos de un Formulario utilizando Ajax y jQuery

Estas en el tema de Problema al enviar datos de un Formulario utilizando Ajax y jQuery en el foro de Jquery en Foros del Web. Hola amigos estoy utilizando jquery para enviar datos de un formulario y utilizarlos en un archivo php para luego guardarlos en una base datos Mysql, ...
  #1 (permalink)  
Antiguo 23/06/2011, 11:59
Avatar de YeisonSoto  
Fecha de Ingreso: enero-2011
Ubicación: Cali, Colombia, Colombia
Mensajes: 116
Antigüedad: 13 años, 10 meses
Puntos: 4
Problema al enviar datos de un Formulario utilizando Ajax y jQuery

Hola amigos estoy utilizando jquery para enviar datos de un formulario y utilizarlos en un archivo php para luego guardarlos en una base datos Mysql, pero tengo un problema : el error aparece cuando utilizo un <input type="file" id="flfoto"/> en ves de un <input type="text" id="txtfoto"/>, cuado utilizo un Text para insertar la ruta de la imagen no da ningun error, acaso es incompatibilidad con el tipo file????





Esta es la linea 11 del archivo donde aparece el error:



Este el el sript:

Código Javascript:
Ver original
  1. $('#btnenviar').click(function(event) {  
  2.                event.preventDefault();  
  3.  
  4.                var url = $("#form1").attr('action');  
  5.                var datos = $("#form1").serialize();  
  6.                $.post(url, datos, function(resultado) {
  7.                alert(resultado);  
  8.                });  
  9.                });


Gracias por la ayuda que me puedan dar.....
  #2 (permalink)  
Antiguo 24/06/2011, 20:51
Avatar de YeisonSoto  
Fecha de Ingreso: enero-2011
Ubicación: Cali, Colombia, Colombia
Mensajes: 116
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Problema al enviar datos de un Formulario utilizando Ajax y jQuery

Alguien me pude ayudar??
  #3 (permalink)  
Antiguo 24/06/2011, 21:29
Avatar de arepavieja  
Fecha de Ingreso: marzo-2011
Mensajes: 207
Antigüedad: 13 años, 9 meses
Puntos: 9
Respuesta: Problema al enviar datos de un Formulario utilizando Ajax y jQuery

la variable archivo no se lee con $_POST, se lee con $_FILES, creo que en eso puede estar tu problema. intenta cambiar eso, y nos dices que tal..

Saludos...
__________________
La educación y la cortesía abren todas las puertas.
  #4 (permalink)  
Antiguo 24/06/2011, 21:29
Avatar de arepavieja  
Fecha de Ingreso: marzo-2011
Mensajes: 207
Antigüedad: 13 años, 9 meses
Puntos: 9
Respuesta: Problema al enviar datos de un Formulario utilizando Ajax y jQuery

variable archivo no, perdón, la variable foto...
__________________
La educación y la cortesía abren todas las puertas.
  #5 (permalink)  
Antiguo 25/06/2011, 19:58
Avatar de YeisonSoto  
Fecha de Ingreso: enero-2011
Ubicación: Cali, Colombia, Colombia
Mensajes: 116
Antigüedad: 13 años, 10 meses
Puntos: 4
De acuerdo Respuesta: Problema al enviar datos de un Formulario utilizando Ajax y jQuery

Cita:
Iniciado por arepavieja Ver Mensaje
variable archivo no, perdón, la variable foto...
Amigo, cambié $_POST por $_FILES y me arroja el mismo error....
  #6 (permalink)  
Antiguo 16/07/2011, 22:43
Avatar de YeisonSoto  
Fecha de Ingreso: enero-2011
Ubicación: Cali, Colombia, Colombia
Mensajes: 116
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Problema al enviar datos de un Formulario utilizando Ajax y jQuery

Aun, no he podido solucionar el problema, si dejo de utilizar jquery, se ve un efecotmuy feo al enviar los datos de mi formularioy si lo uso, no puedo subir la foto...
  #7 (permalink)  
Antiguo 17/07/2011, 14:50
 
Fecha de Ingreso: julio-2011
Mensajes: 3
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Problema al enviar datos de un Formulario utilizando Ajax y jQuery

Hola, Estoy casi un 99% seguro que es el siguiente error:

Cuando pones el tipo de entrada como texto no te marca ningún error ya que el php así como lo tienes procesa solo una cadena de texto.

Pero cuando cambias el tipo de entrada a un archivo te marca el error por que no puede procesar un archivo.

Entonces lo que debes hacer es procesar la imagen por separado dentro del mismo archivo PHP, y después el mismo proceso te devuelva una url donde se almaceno esa imagen y lo colocas en donde procesas todo junto.

Es decir algo así:

Código HTML:
<form action="pross.php" method="post" enctype="multipart/form-data">
<!--Es muy importante que pongas el tipo de encriptacion como "multipart/form-data" -->
Nombre del Alumno: <input type="text" name="name"><br>
Edad: <input type="text" name="edad"><br>
Foto: <input type="file" name="img"><br>
<input type="submit" value="Enviar">
</form> 
Y el PHP:
Código PHP:
<?php
/* Aquí rescatamos los datos*/
$nombre $_POST[name];
$edad $_POST[edad];

/* Aquí rescatamos información de la imagen para comparar*/
$typefile $_FILES['img']['type'];
$sizefile $_FILES['img']['size'];

/*Aqui comparamos el formato permitido y el tamaño permitido con el archivo subido*/ 
if (!((strpos($typefile"gif") || strpos($typefile"jpeg")) && ($sizefile 500000))) { 
    echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 500 Kb máximo.</td></tr></table>";
}else{ 
/* Aquí le damos un nombre y una ruta de subida al archivo. (El formato se lo das tu o lo configuras a ke sea cualquiera de los dos.) */
    
if (move_uploaded_file($HTTP_POST_FILES['img']['tmp_name'], $nombre.''.".jpg")){ 
       echo 
"El archivo ha sido cargado exitosamente."
    }else{ 
       echo 
"Ocurrió algún error al subir el fichero. No se guardo!!!"
    } 
}

//para este paso ya tendremos la url de la imagen subida

$url $_SERVER['SERVER_NAME'].''."/directoriodelaimagen/".''.$nombre.''.".jpg";

/* con la Variable url lo metes de nuevo al proceso que tu estas haciendo pero ya como una cadena de texto y listo lo podrás procesar sin problemas para meterlo a tu BD :)*/
?>
ya tu editas a tus necesidades el código, de igualmanera la asignación de nombres del archivo de imagen... etc etc etc....

el JQuery no te afectara nada... de hecho no tiene nada que ver por que el AJAX lo utilizas del lado cliente y el PHP lado servidor :S

Saludos... :)

Etiquetas: ajax, formulario
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:55.