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, 04:20  


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  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 699 veces)
jdc


Desconectado Desconectado

Mensajes: 3.253


janito dos cuatro...


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

No puedo encontrar el error, alguien lo ve?

Código
<?php
 
$usuario = @$_POST['editUser'];
$pass = @$_POST['editPass'];
$tipo = @$_POST['editTipo']; //int
$sede = @$_POST['editSede']; //int
$hash = md5($usuario.$pass);
$id = @$_POST['idetable']; //int
 
$query = mysql_query("UPDATE `sistema`.`usuarios` SET `usuario` = \'$usuario\', `passwd` = \'$hash\', `tipo` = \'$tipo\', `sede` = \'$tipo\' WHERE `usuarios`.`id` =\'$id\';", $link);
?>
 

Gracias ñ_ñ


En línea

Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


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 »

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


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

---
jdc


Desconectado Desconectado

Mensajes: 3.253


janito dos cuatro...


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 »

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.253


janito dos cuatro...


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 »

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

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

Código
<?php
 
$usuario = @$_POST['editUser'];
$pass = @$_POST['editPass'];
$tipo = @$_POST['editTipo']; //int
$sede = @$_POST['editSede']; //int
$hash = md5($usuario.$pass);
$id = @$_POST['idetable']; //int
 
$query = mysql_query("UPDATE `sistema`.`usuarios` SET `usuario` = \"$usuario\", `passwd` = \"$hash\", `tipo` = \"$tipo\", `sede` = \"$tipo\" WHERE `usuarios`.`id` =\"$id\";", $link);
?>
 

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: 139



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 »

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.253


janito dos cuatro...


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 »

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
吴阿卡
Ex-Staff
*
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


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 »

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
<?php
if(
isset($_POST['editUser']) and
isset($_POST['editPass']) and
isset($_POST['editTipo']) and
isset($_POST['editSede']) and
isset($_POST['idetable'])
){
if($query = mysql_query('
if exists (
select id from `usuarios` where id = '
.(int)$_POST['idetable'].' limit 1
)
update `usuarios` set
`usuario` = "'
.mysql_real_escape_string($_POST['editUser']).'",
`passwd` = "'
.md5($_POST['editUser'].$_POST['editPass']).'",
`tipo` = '
.(int)$_POST['editTipo'].',
`sede` = '
.(int)$_POST['editSede'].'
where `id` = '
.(int)$_POST['idetable'].'
'
, $link))
echo 'Editado!';
else
echo 'El usuario que se desea editar no existe.';
}
?>
En línea

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

Gracias a todos! Good bye!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines