elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  No puedo encontrar el error alguien lo ve? (actualizando registro en db con php)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No puedo encontrar el error alguien lo ve? (actualizando registro en db con php)  (Leído 2,689 veces)
jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
No puedo encontrar el error alguien lo ve? (actualizando registro en db con php)
« en: 5 Diciembre 2011, 23:16 pm »

No puedo encontrar el error, alguien lo ve?

Código
  1. <?php
  2.  
  3. $usuario = @$_POST['editUser'];
  4. $pass = @$_POST['editPass'];
  5. $tipo = @$_POST['editTipo']; //int
  6. $sede = @$_POST['editSede']; //int
  7. $hash = md5($usuario.$pass);
  8. $id = @$_POST['idetable']; //int
  9.  
  10. $query = mysql_query("UPDATE `sistema`.`usuarios` SET `usuario` = \'$usuario\', `passwd` = \'$hash\', `tipo` = \'$tipo\', `sede` = \'$tipo\' WHERE `usuarios`.`id` =\'$id\';", $link);
  11. ?>
  12.  

Gracias ñ_ñ


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: No puedo encontrar el error alguien lo ve? (actualizando registro en db con php)
« Respuesta #1 en: 6 Diciembre 2011, 02:03 am »

Lo mismo de siempre, imprime la query y verifica su contenido.
Código
  1. $sql = "UPDATE `sistema`.`usuarios` SET `usuario` = \'$usuario\', `passwd` = \'$hash\', `tipo` = \'$tipo\', `sede` = \'$tipo\' WHERE `usuarios`.`id` =\'$id\';";
  2. print $sql;


« Última modificación: 6 Diciembre 2011, 02:05 am por Shell Root » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: No puedo encontrar el error alguien lo ve? (actualizando registro en db con php)
« Respuesta #2 en: 6 Diciembre 2011, 02:40 am »

Doh toda la razon...

UPDATE `sistema`.`usuarios` SET `usuario` = \'\', `passwd` = \'fe703d2586565a194907f\', `tipo` = \'1\', `sede` = \'1\' WHERE `usuarios`.`id` =\'5\';



  • No esta recibiendo usuario
  • tengo que usar \" para las strings y nada para los enteros no?

A ver pruebo y te cuento
En línea

jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: No puedo encontrar el error alguien lo ve? (actualizando registro en db con php)
« Respuesta #3 en: 6 Diciembre 2011, 03:27 am »

Lo mismo de siempre, imprime la query y verifica su contenido.
Código
  1. $sql = "UPDATE `sistema`.`usuarios` SET `usuario` = \'$usuario\', `passwd` = \'$hash\', `tipo` = \'$tipo\', `sede` = \'$tipo\' WHERE `usuarios`.`id` =\'$id\';";
  2. print $sql;

Gracias Shell Root quedo funcionando todo ok :) te pasaste!

Código
  1. <?php
  2.  
  3. $usuario = @$_POST['editUser'];
  4. $pass = @$_POST['editPass'];
  5. $tipo = @$_POST['editTipo']; //int
  6. $sede = @$_POST['editSede']; //int
  7. $hash = md5($usuario.$pass);
  8. $id = @$_POST['idetable']; //int
  9.  
  10. $query = mysql_query("UPDATE `sistema`.`usuarios` SET `usuario` = \"$usuario\", `passwd` = \"$hash\", `tipo` = \"$tipo\", `sede` = \"$tipo\" WHERE `usuarios`.`id` =\"$id\";", $link);
  11. ?>
  12.  

En la Query habia problema de comillas y ademas habia un error mio, al tener un campo como disabled no enviaba los datos y cuando comparaba si estaba vacio siempre me daba true xD

Gracias otra vez :p
En línea

s00rk

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: No puedo encontrar el error alguien lo ve? (actualizando registro en db con php)
« Respuesta #4 en: 6 Diciembre 2011, 22:31 pm »

Por que no usar simples comillas como ' , asi te ahorras las \ ?


"UPDATE `sistema`.`usuarios` SET `usuario` = '$usuario', `passwd` = '$hash', `tipo` = '$tipo', `sede` = '$tipo' WHERE `usuarios`.`id` ='$id';"

Las \, son comunmente usadas cuando tu tu string empieza por el mismo tipo de comillas y quiere imprimir ejemplo:

echo "hola como estas \"juan\"";
echo 'hola como estas \'juan\'';
echo "hola como estas 'juan'";
echo 'hola como estas "juan"';

Si empieza con " dentro de la cadena puedes poner ' directamente sin poner \ a menos que decees poner " ocuparas poner \ puesto que iniciaste con  " , bueno espero haberme explicado jejeje
En línea

jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: No puedo encontrar el error alguien lo ve? (actualizando registro en db con php)
« Respuesta #5 en: 9 Diciembre 2011, 21:10 pm »

Gracias, de hecho ya lo habia hecho ñ_ñ solo puse esto para mostrar como habia quedado funcionando, en mi sistema ya esta con comilla simple sin \
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: No puedo encontrar el error alguien lo ve? (actualizando registro en db con php)
« Respuesta #6 en: 10 Diciembre 2011, 14:00 pm »

Y que pasa si realmente necesitas insertar un $?, además por asuntos de seguridad, evitar pasar clases y esas cosas me acostumbré a usar siempre comillas simples ya que ahi el código arbitrario no funciona, o sea:

echo "$algo"; imprime la variable
echo '$algo'; imprime $algo

De hecho habia un bug que permitia ejecución de código arbitrario en vbuletin por causa de esto.
Además recuerda que desde php no vale de nada enviar punto y coma ";" porque no puedes hacer multiples querys, recuerda que ya no estás en el phpmyadmin.

Así lo haría yo:
Código
  1. <?php
  2. if(
  3. isset($_POST['editUser']) and
  4. isset($_POST['editPass']) and
  5. isset($_POST['editTipo']) and
  6. isset($_POST['editSede']) and
  7. isset($_POST['idetable'])
  8. ){
  9. if($query = mysql_query('
  10. if exists (
  11. select id from `usuarios` where id = '.(int)$_POST['idetable'].' limit 1
  12. )
  13. update `usuarios` set
  14. `usuario` = "'.mysql_real_escape_string($_POST['editUser']).'",
  15. `passwd` = "'.md5($_POST['editUser'].$_POST['editPass']).'",
  16. `tipo` = '.(int)$_POST['editTipo'].',
  17. `sede` = '.(int)$_POST['editSede'].'
  18. where `id` = '.(int)$_POST['idetable'].'
  19. ', $link))
  20. echo 'Editado!';
  21. else
  22. echo 'El usuario que se desea editar no existe.';
  23. }
  24. ?>
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema actualizando un registro en MySQL
PHP
camdark 8 2,481 Último mensaje 14 Diciembre 2006, 21:58 pm
por camdark
¿Alguien sabe donde puedo encontrar un Diccionario de pass comunes?
Dudas Generales
electrodev 2 2,889 Último mensaje 21 Junio 2011, 00:34 am
por .:UND3R:.
Alguien sabe donde puedo encontrar esta imagen « 1 2 »
Diseño Gráfico
Shell Root 11 9,483 Último mensaje 13 Julio 2011, 05:33 am
por Shell Root
Ayuda a encontrar error
Programación C/C++
marcosuag 1 1,501 Último mensaje 7 Agosto 2017, 05:09 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines