Foros del Web » Programando para Internet » PHP »

No entra en el if, que puede fallar?

Estas en el tema de No entra en el if, que puede fallar? en el foro de PHP en Foros del Web. Buenas, estoy tratando de programar un IPN de paypal, la cuestion es que tengo varios if anidados dentro de otro if, todos los hace bien ...
  #1 (permalink)  
Antiguo 14/07/2010, 06:13
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 11 meses
Puntos: 6
No entra en el if, que puede fallar?

Buenas, estoy tratando de programar un IPN de paypal, la cuestion es que tengo varios if anidados dentro de otro if, todos los hace bien pero el ultimo ni entra.

Código PHP:
Ver original
  1. if ($estado_pago=="Completed"){
  2.        
  3.             $result= mysql_query("SELECT creditos
  4.                                     FROM usuario
  5.                                     WHERE cod = '$cod_usuario'");
  6.  
  7.             $row = mysql_fetch_array( $result );
  8.  
  9.             $v_creditos_usuario = $row['creditos'];
  10.            
  11.             mysql_free_result($result);
  12.                        
  13.             if ($id_articulo == 01){
  14.             $v_credito_comprado = 250;
  15.             }
  16.            
  17.             if ($id_articulo == 02){
  18.             $v_credito_comprado = 350;
  19.             }
  20.            
  21.             if ($id_articulo == 03){
  22.             $v_credito_comprado = 600;
  23.             }
  24.            
  25.             if ($id_articulo == 04){
  26.             $v_credito_comprado = 1000;
  27.             }
  28.            
  29.             if ($id_articulo == 07){
  30.             $v_credito_comprado = $cantidad_articulos;
  31.             }
  32.            
  33.             if ($id_articulo == 08){
  34.             $v_credito_comprado = 0;
  35.                 $result = mysql_query("UPDATE usuario
  36.                                         SET copyright=1
  37.                                         WHERE cod='$cod_usuario'")
  38.                           or die(mysql_error());
  39.            }
  40. }

Todos los if los hace bien pero el ultimo ni entra, y la verdad no se por que, el id de articulo es 08, lo he comprobado, el update tambien lo hace bien por que lo comprobé dejandolo fuera del if y lo hace como toca, pero algo raro esta pasando para que ese if se lo pase por alto, ojala podais ayudarme, me estoy volviendo loco jej
  #2 (permalink)  
Antiguo 14/07/2010, 07:11
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: No entra en el if, que puede fallar?

cuando pones un cero antes del numero te lo toma como un octal.. intenta poniendo asi

Código PHP:
Ver original
  1. if ($id_articulo == '01'){

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 14/07/2010, 08:18
 
Fecha de Ingreso: mayo-2008
Mensajes: 111
Antigüedad: 16 años
Puntos: 1
Respuesta: No entra en el if, que puede fallar?

Hola, en tu caso usaria un switch().
Saludos
  #4 (permalink)  
Antiguo 14/07/2010, 08:45
 
Fecha de Ingreso: marzo-2009
Ubicación: Sancti Spíritus, CUBA
Mensajes: 150
Antigüedad: 15 años, 1 mes
Puntos: 7
Respuesta: No entra en el if, que puede fallar?

Bueno saludos, mejor utiliza Swich Case, es lo ideal para hacer multiples condiciones, ademas en vez de poner:

Código PHP:
Ver original
  1. if ($id_articulo == 02){
  2.   $v_credito_comprado = 350;
  3. }

mejor pon
Código PHP:
Ver original
  1. elseif ($id_articulo == 02){
  2.   $v_credito_comprado = 350;
  3. }


en cada una de las condiciones....

entonces , tambien debes de chequear que la columna "cod", como dice en la parte
Código MySQL:
Ver original
  1. UPDATE usuario SET copyright=1 WHERE cod='$cod_usuario'


mira bien la tabla en la base de datos a lo mejor esta almacenando datos numericos y usted le esta pasando datos de texto quitale las comillas simples a ver que pasa... saludos
Código email:
Ver original 
  #5 (permalink)  
Antiguo 14/07/2010, 09:15
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: No entra en el if, que puede fallar?

Muchas gracias por vuestra ayudaaaa ahora mismo voy a ver si pongo en marcha los consejos y comento el resultadoo mil gracias.

EDITO: Funciono! el error era como dice hidek que me estaba tomando el numero como un octal. Mil gracias

Última edición por cronosmen; 14/07/2010 a las 09:46

Etiquetas: Ninguno
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 05:15.