Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ajax no pasa los datos a PHP

Estas en el tema de Ajax no pasa los datos a PHP en el foro de Frameworks JS en Foros del Web. Hola buenos dias a todos. tengo un problema que me tiene cabezon y esque es una de esas cosas basicas y ya revise y contra ...
  #1 (permalink)  
Antiguo 14/12/2009, 09:37
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta Ajax no pasa los datos a PHP

Hola buenos dias a todos.

tengo un problema que me tiene cabezon y esque es una de esas cosas basicas y ya revise y contra revise el codigo y esta bien, la verdad que no intento hacerlo de nuevo por que estoy seguro que lo haria de la misma forma ya que lo eh echo antes y me ah funcionado.

Bueno sin rodeos, estoy mandando unos datos mediante Ajax a un PHP que tiene la funcion de guardar los registros en MySQL, son 10 columnas de la tabla
(id matricula nombre apePaterno apeMaterno RACC NCSE concepto valor Fdeposito registrado)
Me guarda todos bien solo que entre el ajax y el php hay un problema que php no recibe los datos de matricula y Fdeposito, no se que esta pasando pero les dejo el codigo, haber si alguien me puede ayudar a identificar el error ya que yo no eh podido encontrarlo.

Este es el javascript que recoge y envia los datos.

Código Javascript:
Ver original
  1. function nuevoEvento_A(ingreso)
  2. {
  3.     var divMensaje=document.getElementById("error_A");
  4.  
  5.         var fecha=document.getElementById("datepicker2").value;
  6.         var matricula=document.getElementById("txtMatricula_A").value;
  7.         var nombre=document.getElementById("txtNombre_A").value;
  8.         var paterno=document.getElementById("txtPaterno_A").value;
  9.         var materno=document.getElementById("txtMaterno_A").value;
  10.         var racc2=document.getElementById("txtReferencia_A").value;
  11.         var ncia=document.getElementById("txtCuenta_A").value;
  12.         var concepto=document.getElementById("txtConcepto_A").value;
  13.         var cantidad=document.getElementById("txtDeposito_A").value;
  14.         var boton=document.getElementById("botonIngreso_A");
  15.         var textoAccion="Ingresando...";
  16.  
  17.  
  18.     if(!validaFecha(fecha)){
  19.         divMensaje.innerHTML="<img src='../img/denied.gif'> Se necesita ingresar la fecha del dep&oacute;sito bancario.";
  20.     }
  21.     else if(!validaNombre(nombre)){
  22.         divMensaje.innerHTML="<img src='../img/denied.gif'> El nombre ingresado contiene caracteres o longitud invalida.";
  23.     }
  24.     else if(!validaPaterno(paterno)){
  25.         divMensaje.innerHTML="<img src='../img/denied.gif'> Necesita ingresar el apellido paterno.";
  26.     }
  27.     else if(!validaRACC2(racc2)){
  28.         divMensaje.innerHTML="<img src='../img/denied.gif'> La referencia alfanum&eacute;rica para cursos de capacitaci&oacute;n no coincide con el formato.";
  29.     }
  30.     else if(document.getElementById("txtConcepto_A").value=='null'){
  31.         divMensaje.innerHTML="<img src='../img/denied.gif'> Debe seleccionar un concepto de pago.";
  32.     }
  33.     else if(!validaMoneda(cantidad)){
  34.         divMensaje.innerHTML="<img src='../img/denied.gif'> La cantidad ingresada no coincide con el formato moneda del sistema.<br /><br />Ejemplos: <b>10.50</b>, <b>4,500.00</b> y <b>10,000.00</b>";
  35.     }
  36.     else
  37.     {
  38.         boton.disabled=true; //fechaDeposito.disabled=true;
  39.        
  40.         var ajax=nuevoAjax();
  41.         ajax.open("POST", "cursos.php", true);
  42.         ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  43.         ajax.send("&matricula"+matricula+"&fecha"+fecha+"&nombre="+nombre+"&paterno="+paterno+"&materno="+materno+"&racc2="+racc2+"&ncia="+ncia+"&concepto="+concepto+"&cantidad="+cantidad);
  44.        
  45.         ajax.onreadystatechange=function()
  46.         {
  47.             if (ajax.readyState==4)
  48.             {
  49.                 document.getElementById('cursos').reset();
  50.                 boton.disabled=false; //input.disabled=false;
  51.                 divMensaje.innerHTML=ajax.responseText;
  52.  
  53.                 var registrOK="";
  54.             }
  55.         }
  56.     }
  57. }

y este es el php que los procesa la informacion para guardar los registros.

Código PHP:
Ver original
  1. <?php
  2.  
  3. include '../form/conexion.php';
  4.  
  5.     $fecha=trim($_POST["fecha"]);
  6.     $matricula=trim($_POST["matricula"]);
  7.     $nombre=iconv("UTF-8", "ISO-8859-1",$_POST["nombre"]);
  8.     $paterno=iconv("UTF-8", "ISO-8859-1",$_POST["paterno"]);
  9.     $materno=iconv("UTF-8", "ISO-8859-1",$_POST["materno"]);
  10.     $racc=trim($_POST["racc2"]);
  11.     $ncia=trim($_POST["ncia"]);
  12.     $concepto=iconv("UTF-8", "ISO-8859-1",$_POST["concepto"]);
  13.     $valor=trim($_POST["cantidad"]);
  14.        
  15.     conectar();
  16.  
  17.     mysql_query("INSERT INTO tabla_capacitacion (matricula,nombre,apePaterno,apeMaterno,RACC,NCSE,concepto,valor,Fdeposito,registrado)
  18.     VALUES ('$matricula','$nombre','$paterno','$materno','$racc','$ncia','$concepto','$valor','$fecha',NOW())")
  19.     or die(mysql_error());
  20.     $concepto = utf8_encode($concepto);
  21.     echo  "<img src='../img/ok.gif' border='0' /> El pago del concepto <b>$concepto</b> fue registrado exitosamente.";
  22.     desconectar();
  23. ?>


Pues esta el codigo, espero alguien me pueda echar una mano.

Saludos.
  #2 (permalink)  
Antiguo 15/12/2009, 09:25
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Ajax no pasa los datos a PHP

Alguna sugerencia?
  #3 (permalink)  
Antiguo 15/12/2009, 10:42
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 15 años, 3 meses
Puntos: 13
Respuesta: Ajax no pasa los datos a PHP

Cita:
var ajax=nuevoAjax();
ajax.open("POST", "cursos.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("&matricula"+matricula+"&fecha"+fecha+"& nombre="+nombre+"&paterno="+paterno+"&materno="+ma terno+"&racc2="+racc2+"&ncia="+ncia+"&concepto="+c oncepto+"&cantidad="+cantidad);
Yo lo hago de esta manera:
Código Javascript:
Ver original
  1. url = "cursos.php?matricula"+matricula+"&fecha"+fecha+"&nombre="+nombre+"&paterno="+paterno+"&materno="+materno+"&racc2="+racc2+"&ncia="+ncia+"&concepto="+concepto+"&cantidad="+cantidad";
  2. ajax.open("POST", url , true);
  3. ajax.send(null);
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse
  #4 (permalink)  
Antiguo 15/12/2009, 10:58
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Ajax no pasa los datos a PHP

Amigo mhax, gracias por tu ejemplo, la verdad es que me estaba quebrando la cabeza y viendo tu respuesta vi que me faltaba "&matricula="+matricula+"&fecha="+fecha ósea que me faltaban los signos de "=" ... una reverenda babosada, pero que a veces pasa.

gracias y saludos.
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 17:27.