Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/12/2010, 08:49
Avatar de ColdFusion
ColdFusion
 
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 16 años, 1 mes
Puntos: 9
Respuesta: Error jQuery con UPDATE MySQL

porsupuesto, este es el codigo javascript:
Código:
$('#reg_suscripcion').submit(function() {
$('#cuerpo .contenido_lat .error').css({opacity: '0', display: 'block'});
 var verificado = false;
 var nombre = $('#nombre').val();
 var apellido = $('#apellido').val();
 var email = $('#email').val();
 var pass = $('#pass').val();
 var ubicacion = $('#ubicacion').val();
 var sexo = $('#sexo').val();
 var codigoantispam = $('#codigoantispam').val();
 var respuestaantispam = $('#captcha-resultado').val();
 var categorias = $('.categorias').getValue();
 var acepto = $('#terminosycondiciones').getValue();
 var puede_suscribir =false;


  var cadenaverif = 'email='+email;
  var verif = $.ajax({ type: "POST", url: "verificador.php", data: cadenaverif, cache: false, 
  success: function(html){
  if (html == '1') {
  ferror('Ya existe una cuenta con este correo');
  puede_suscribir = false;
  $('#email').addClass('errorinput');
  return false;
  }
  }}); // funcion ajax*/	 
  
 
 if (nombre == '' || nombre == ' '){
 ferror('Porfavor, Ingrese su nombre.');
  return false;
 }
 
 if (email == '' || email == ' '){
  ferror('Porfavor, Ingrese su Email.');
   return false;
 }
 
  if (pass == '' || pass == ' '){
 ferror('Porfavor, Ingrese una contraseña.');
  return false;
 }
 
  if (ubicacion < 1){
  ferror('Porfavor, Elija su ubicaci&oacute;n');
  return false;
 }
 
  if (sexo < 1){
  ferror('Porfavor, Especifique su sexo.');
  return false;
 }
 
  if (respuestaantispam == '' || respuestaantispam == ' ') {
  ferror('Porfavor, Ingrese el codigo mostrado.');
  return false;
 }
 
 if (respuestaantispam != codigoantispam) {
  ferror('El codigo no es igual al de la imagen.');
  return false; 
	 
 }
  
  if (categorias == '' || categorias == ' '){
  ferror('Porfavor, Elija mas de una categoria.');
  return false;
 }
 
 if (acepto == '') { 
 ferror('Debe aceptar los terminos y condiciones.');
 return false;
  }
 
  var cadenaDatos = 'nombre='+ nombre + '&apellido='+ apellido +'&email=' + email + '&pass=' + pass + '&ubicacion=' + ubicacion + '&sexo=' + sexo + '&categorias=' + categorias;

   // Enviamos datos por medio de AJAX al procesador en PHP

  $('#cuerpo .contenido_lat .proce_formulario').css({opacity: '0', display: 'block'});
  $("#cuerpo .contenido_lat .proce_formulario").animate({opacity: '0.8'}, {queue:false, duration: 400}).html('<img src="imagenes/procesando.gif"/><BR>Porfavor, Espere miestra es suscrito ...');
  
   $.ajax({ 
	       type: "POST", 
		   url: "suscripcion.php", 
		   data: cadenaDatos, 
		   cache: false, 
           success: function(html){
  
  if (html == '1') {
  $("#cuerpo .contenido_lat .proce_formulario").html('<img src="imagenes/listo.png"/><BR>Suscripcion Completa!');
  }
    myTimer = $.timer(900, function(){$("#cuerpo .contenido_lat .proce_formulario").fadeOut(800);}, null);
  }}); // funcion ajax
 

return false;
 
});
Todos esos datos son enviados a suscripcion.php, y este es el codigo que el contiene:
Código PHP:
<?PHP

include("config.php");
include(
"inc/funciones.php"); 
include(
"inc/funciones_db.php"); 

if(
$_POST) :

$nombre $_POST['nombre'];
$apellido $_POST['apellido'];
$email $_POST['email'];
$pass $_POST['pass'];
$ubicacion $_POST['ubicacion'];
$sexo $_POST['sexo'];
$categorias $_POST['categorias'];

if (!
existe_suscriptor($email)) {
 
$id_usuario suscripcion($nombre,$apellido,$email,$pass,$ubicacion,$sexo);
 
suscribirse_a_cat($id_usuario$categorias);

echo 
'1';
}

endif;
?>
Ahora todo esta en la funcion suscripcion la cual esta asi
Código PHP:
function suscripcion($nombre$apellido$email$pass$ubicacion$sexo){
    global 
$db$fecha;
    

    
$db->ejecutar("INSERT INTO suscriptores (nombre, apellido, email, pass, ubicacion, sexo, referidos, boletines_recibidos, fecha_suscripcion) VALUES('$nombre', '$apellido', '$email', '$pass', '$ubicacion', '$sexo', 0, 0, '$fecha')");
    
        
//Aqui comienzo a querer actualizar datos
    
$ref = (int)$_SESSION['ref'];
    if (isset(
$ref) && is_int($ref)) {
    
$consulta $db->consultar("SELECT referidos FROM suscriptores WHERE id=$ref");
    
$datos_ref $db->fetchObjetos($consulta);
    
$cant_ref = (int)$datos_id->referidos;
    
$cant_ref $cant_ref+1;
    
$db->ejecutar("UPDATE suscriptores SET referidos=$cant_ref WHERE id=$ref");
    }
    
    
$consulta $db->consultar("SELECT id FROM suscriptores WHERE email = '$email'");
    
$datos_id $db->fetchObjetos($consulta);
    return 
$datos_id->id;


$_SESSION['ref'] coniene la id del usuario

se que este codigo no deberia estar aqui pero es para que vean, el valor de $ref lo intente enviar por ajax, estaba ubicado en el formulario en un campo oculto.
Probe haber si se enviaba el valor y si se envia, pero la funcion de actualizar no funciona.

solo como dije antes usando el action del formulario.