elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 13:20  


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  Esto esta bien ??? SOLUCIONADO!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Esto esta bien ??? SOLUCIONADO!  (Leído 401 veces)
nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Esto esta bien ??? SOLUCIONADO!
« en: 12 Febrero 2012, 23:28 »

Ahi va !

Código
$tallas = comprobartalla($_GET['recordID']);
if ($tallas == 0) {$carrito = comprobarcarrito($_GET['recordID']);
if ($carrito !=0) {$insertSQL = sprintf("UPDATE tblcarrito SET intCantidad = intCantidad + %s WHERE intContador = %s",$_GET['intCantidad'],
  $carrito);}
  else {$insertSQL = sprintf("INSERT INTO tblcarrito (idUsuario, idProducto, intCantidad) VALUES (%s, %s, %s)",
                      GetSQLValueString($_SESSION['MM_IdUsuario'], "int"),
  GetSQLValueString($_GET['recordID'], "int"),
  GetSQLValueString($_GET['intCantidad'], "int"));}
  }
 

Pongo las funciones:


Código
function comprobartalla($idproducto)
{
global $database_conexionzulo, $conexionzulo;
mysql_select_db($database_conexionzulo, $conexionzulo);
$query_ConsultaFuncion = sprintf("SELECT * FROM tblproductotalla WHERE relProducto=%s", $idproducto);
$ConsultaFuncion = mysql_query($query_ConsultaFuncion, $conexionzulo) or die(mysql_error());
$row_ConsultaFuncion = mysql_fetch_assoc($ConsultaFuncion);
$totalRows_ConsultaFuncion = mysql_num_rows($ConsultaFuncion);
if ($totalRows_ConsultaFuncion == 0)
return 0;
else return 1;
mysql_free_result($ConsultaFuncion);
}
 
// +++++++++++++++++++++++++++++++++++++++++++
// +++++++++++++++++++++++++++++++++++++++++++
 
function comprobarcarrito($idproducto)
{
global $database_conexionzulo, $conexionzulo;
mysql_select_db($database_conexionzulo, $conexionzulo);
$query_ConsultaFuncion = sprintf("SELECT * FROM tblcarrito WHERE idUsuario = %s AND idProducto=%s AND intTransaccionEfectuada = 0", $_SESSION['MM_IdUsuario'],$idproducto);
$ConsultaFuncion = mysql_query($query_ConsultaFuncion, $conexionzulo) or die(mysql_error());
$row_ConsultaFuncion = mysql_fetch_assoc($ConsultaFuncion);
$totalRows_ConsultaFuncion = mysql_num_rows($ConsultaFuncion);
if ($totalRows_ConsultaFuncion >0)
return $row_ConsultaFuncion['intContador'];
else
return 0;
mysql_free_result($ConsultaFuncion);
}


Lo solucione con un elseif:

Código
if ($tallas == 0 && $carrito!=0){$insertSQL = sprintf("UPDATE tblcarrito SET intCantidad = intCantidad + %s WHERE intContador = %s",$_GET['intCantidad'],
  $carrito);}
  elseif ($tallas == 0 && $carrito == 0) {$insertSQL = sprintf("INSERT INTO tblcarrito (idUsuario, idProducto, intCantidad) VALUES (%s, %s, %s)",
                      GetSQLValueString($_SESSION['MM_IdUsuario'], "int"),
                      GetSQLValueString($_GET['recordID'], "int"),
                      GetSQLValueString($_GET['intCantidad'], "int"));}

No se si es la manera adecuada o que... Pero bueno.. Si hay otra espero que me la hagan saber :D

Gracias a todos los que me ayudaron ! Y a los que no.... TAMBIEN !! jajaja


« Última modificación: 14 Febrero 2012, 18:40 por nobo » En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Esto esta bien ???
« Respuesta #1 en: 13 Febrero 2012, 05:18 »

Y la pregunta es?


En línea

---
nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: Esto esta bien ???
« Respuesta #2 en: 13 Febrero 2012, 10:42 »

Pues que si esta bien... Porque no me esta funcionando :S

Si hay algun error, esa es la pregunta. Porque no me esta funcionando...
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Esto esta bien ???
« Respuesta #3 en: 13 Febrero 2012, 16:17 »

1. No esta funcionando qué!
2. Muestra algún error, cual?
3. No somos adivinos :D
En línea

---
WHK
吴阿卡
Ex-Staff
*
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


Ver Perfil WWW
Re: Esto esta bien ???
« Respuesta #4 en: 13 Febrero 2012, 16:28 »

Como dice shellroot debes decir porque no funciona, sale algun mensaje o se queda en blanco o que?

Código:
or die(mysql_error());
Eso jamas jamas jamas se hace o si no le estarás revelando a un atacante la información sobre nombre de tablas, columnas, querys, etc, además tu código tiene inyección sql.

La función mysql_error() solo lo utiliza el desarrollador para ver que pasa en ciertas sircunstancias pero jamas se debe dejar a la vista de los demás, para eso existe mysql_error_num() y según el número tu sistema debería reaccionar y decir if(num == 2) echo 'error en tal cosa.' Pero nunca reveles tablas, columnas ni datos.
En línea

Mi foro Ultra Off-Topics: http://whk.drawcoders.com/foro/

Gracias a todos! Good bye!
nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: Esto esta bien ???
« Respuesta #5 en: 13 Febrero 2012, 22:36 »

Perfecto !! Si me interesa.. Pero... Todavia no empece con el tema seguridad ya que la pagina esta en desarrollo en cuanto haya que ponerla a funcionar... Pedire consejos de seguridad :D

Pues la cosa es que no da ningun error jajajaja Ese es el problema si no sabria por donde tirar mas o menos o lo postearia.. Pero es que no da ningun error !!!

Simplemente hace lo mismo que antes.. Me añade el producto al carrito pero no lo suma...

Lo que se supone que tiene que hacer eso es mirar si tiene talla y si esta en el carrito. Si esta en el carrito hacer un update para sumarlo.

Asi que ... Es como si no estubiese funcionando :S Pero sin ningun error ni nada..

Gracias a los dos !
En línea
nobo

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: Esto esta bien ???
« Respuesta #6 en: 14 Febrero 2012, 17:47 »

Echo de esta consulta que es de la funcion comprobartalla:

$query_ConsultaFuncion = sprintf("SELECT * FROM tblproductotalla WHERE relProducto=%s", $idproducto);

SELECT * FROM tblproductotalla WHERE relProducto=2

Echo de la consulta de la funcion comprobarcarrito:

SELECT * FROM tblcarrito WHERE idUsuario = 1 AND idProducto=2 AND intTransaccionEfectuada = 0

Echo de $tallas:

0 (cuando no hay tallas)

1 (cuando hay tallas)

Echo $carrito:
88 (cuando esta en el carrito intContador)

0 (cuando no esta en el carrito) ....

He ido probando con el if y si me imprimia un echo por ejemplo cuando $tallas == 0 && $carrito !=0 ... He intentado hacer el UPDATE con esa comparacion y no me lo hace... Lo he intentado asi: $insertSQL = sprintf("UPDATE tblcarrito SET intCantidad = intCantidad + %s WHERE intContador = %s",$_GET['intCantidad'],
                       $carrito);
« Última modificación: 14 Febrero 2012, 18:26 por nobo » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
haber si esto esta bien...
Hacking Wireless
evola 11 942 Último mensaje 8 Mayo 2006, 23:11
por Malagueño
Esta bien aprender esto?? « 1 2 »
Programación General
esparta 18 1,549 Último mensaje 16 Enero 2007, 23:24
por rain_in!the!_universe
Miren esto esta bien interesante...
Foro Libre
magomi 9 1,173 Último mensaje 21 Noviembre 2009, 08:30
por Saberuneko
hacer esto con fork esta bien?
Programación C/C++
Belial & Grimoire 5 1,321 Último mensaje 28 Septiembre 2010, 16:26
por [L]ord [R]NA
¿Esto está bien?
Programación Visual Basic
Akkiles145 2 444 Último mensaje 19 Diciembre 2010, 21:59
por Akkiles145
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines